본문 바로가기

IT/MS-SQL

mssql 데이터베이스 복원시 오류 3154 '백업 세트에 기존 '(복원하려는데이터베이스명)' 데이터베이스가 아닌 데이터베이스의 백업이 있습니다' 해결 방법

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

A라는 서버에서 작업하던 데이터베이스를 백업하여, 백업 파일(*.bak)를 B라는 서버로 복사하고

복구 하려고 하니, 별의 별 방법을 다 사용해도 복원되지 않습니다.

이럴때는 스크립트를 이용해서 복원해야 합니다.

먼저 bak 파일을 원하는 위치에 복사해 둡니다.

아래 스크립트를 실행하여 백업 파일이 품고 있는

mdf 파일명과 ldf 파일명 그리고 논리명을 확인한다

restore filelistonly from disk = 'D:\백업파일 경로\백업파일명.bak' ;

이제 복원할때 사용할 신규DB명을 지정하여 아래와 같이

작성한다, 사전에 DB를 미리 생성해 둘 필요가 없다.


Restore database 신규DB명l from 
disk = 'D:\백업파일 경로\백업파일명.bak' with 
move '기존DB 논리명' to 'D:\백업파일 경로\백업파일명.mdf', 
move '기존DB로그 논리명' to 'D:\백업파일 경로\백업파일명_log.ldf'

위와 같이 실행하면, 계속 에러가 나던 복원이 진행된다.^^