본문 바로가기

DBMS/SQL Server (MS-SQL)

[SQL Server / MS-SQL] 데이터베이스 복원 실패 (WITH MOVE 옵션)

반응형

 

 

 


 

 

1. 오류발생


1
RESTORE DATABASE CRM FROM DISK = 'E:\BACKUP\CRM_backup.bak'
cs

 

위와 같이 데이터베이스 복원을 시도하였으나, 아래와 같은 오류가 발생했다.

 

Msg 5133, Level 16, State 1, Line 1
운영 체제 오류 3(지정된 경로를 찾을 수 없습니다.)(으)로 인해 파일 "M:\DATA\CRM.mdf"에 대한 디렉터리를 조회하지 못했습니다.
Msg 3156, Level 16, State 3, Line 1
파일 'Log_Data'을(를) 'M:\DATA\CRM.mdf'(으)로 복원할 수 없습니다. WITH MOVE를 사용하여 올바른 파일 위치를 확인하십시오.
Msg 5133, Level 16, State 1, Line 1
운영 체제 오류 3(지정된 경로를 찾을 수 없습니다.)(으)로 인해 파일 "L:\LOG\CRM_log.ldf"에 대한 디렉터리를 조회하지 못했습니다.
Msg 3156, Level 16, State 3, Line 1
파일 'Log_Log'을(를) 'L:\LOG\CRM_log.ldf'(으)로 복원할 수 없습니다. WITH MOVE를 사용하여 올바른 파일 위치를 확인하십시오.
Msg 3119, Level 16, State 1, Line 1
RESTORE 문을 계획하는 동안 문제가 발견되었습니다. 자세한 내용은 이전 메시지를 참조하십시오.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE이(가) 비정상적으로 종료됩니다.

이는 백업 파일에 포함되어 있는 경로에 접근할 수 없어서 발생한다.

이와 같은 경우 WITH MOVE 옵션을 사용하여 복원될 파일 위치를 변경해주어 해결할 수 있다.

 

 

 

오류해결


먼저, 아래 쿼리를 통해 백업 파일에 포함된 데이터베이스 파일과 로그 파일의 이름 및 위치를 확인할 수 있다.

 

1
RESTORE FILELISTONLY FROM DISK='E:\BACKUP\CRM_backup.bak'
cs

 

 

확인이 된 논리적이름을 가지고 아래와 같이 WITH MOVE 옵션을 통해

복원 대상의 파일 위치(Physical Name)을 변경함으로써 해결할 수 있다.

※ 단, 논리적 이름(Logical Name)은 위와 동일하여야 한다.

 

1
2
3
4
RESTORE DATABASE CRM 
FROM DISK = 'E:\BACKUP\CRM_backup.bak'
WITH MOVE 'Log_Data' TO 'E:\DATA\CRM.mdf',
MOVE 'Log_Log' TO 'E:\LOG\CRM_log.ldf'
cs

 

 

 

반응형