MS-SQL
백업 파일로 리스토어 할 때 에러가 나면...
주술쟁이
2012. 4. 26. 11:37
MS-SQL 2000의 백업을 2005로 리스토어할 때 또는 다른 머신의 백업을 리스토어 할 때 3152번 에러가 많이 난다.
문제는 새로운 DB 인스턴스명을 만들어 파일을 생성시킨 후 그 위에 오버라이트 명령을 주어도 잘 안되는 경우가 있다.
그 때는 그냥 과감하게 포기...
restore filelistonly from disk='D:\ftproot\INQ.BAK'
위 명령어는 백업 파일에 있는 파일 정보를 조회하는 명령어이다.
조회를 하면 데이터 파일인 mdf 파일정보, ldf파일정보를 조회할 수 있다.
실제 물리적인 위치정보와 로컬명을 같이 조회할 수 있다.
RESTORE DATABASE Inq FROM DISK = N'D:\ftproot\INQ.BAK'
WITH FILE = 1,
MOVE N'Inq_Data' TO N'D:\MSSQL.1\MSSQL\Data\Inq_Data.mdf',
MOVE N'Inq_log' TO N'D:\MSSQL.1\MSSQL\Data\Inq_log.ldf',
NOUNLOAD, STATS = 10
GO
위 예는 새롭게 인스턴스를 생성하면서 백업 파일에 있는 로컬 파일명으로 새로운 물리 파일 리스트를 만들어 복원하는 명령어이다.
즉, 미리 빈 DB를 만들어 놓는 것이 아니라 DB 인스턴스를 생성하면서 백업파일로 부터 복원하는 것이다.
로컬명을 바꾸는 것이 안되니 그 것은 참고 하시길..