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 인스턴스를 생성하면서 백업파일로 부터 복원하는 것이다.
로컬명을 바꾸는 것이 안되니 그 것은 참고 하시길..
'MS-SQL' 카테고리의 다른 글
MS-SQL Restore시 1354번 에러 (0) | 2012.06.26 |
---|---|
Linked DB 생성하기 (0) | 2012.06.08 |
Linked DB를 이용하여 DDL문 사용하기 (0) | 2012.04.17 |
MS-SQL 인덱스 다시 작성 예제 (0) | 2012.01.31 |
현재 DB의 테이블, SP 리스트 가져오기 (0) | 2011.09.20 |