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 인스턴스를 생성하면서 백업파일로 부터 복원하는 것이다.

로컬명을 바꾸는 것이 안되니 그 것은 참고 하시길..