[MSSQL - 백업 데이터를 다른 데이터베이스로 복원하기]
|
MSSQL에서 백업받은 데이터를 다른 데이터베이스(이름이 다른 데이터베이스)로 복원을 시켜야 할때가 있습니다. 그렇게 흔한 작업은 아니지만, 가끔은 필요할 때가 있어서, 간단하게 정리해 보겠습니다. 저는 테스트를 위해서 test2013이라는 데이터베이스를 만들고 그 데이터를 백업받아서 cyberpr 이라는 데이터베이스로 복원을 시킨다고 가정하겠습니다. 사이버피알은 MySQL을 사용하기 때문에 지금의 설정은 가상일 뿐이니 이점 참고하 시기 바랍니다.
먼저 test2013 데이터베이스의 데이터를 백업받았다고 가정하겠습니다. 다른 데이터베이스로 복원하기 위해서는 백업세트의 "Logical Name"을 알아야 합니다.
아래의 예대로 실행하면 친절하게 Logical Name을 알려줍니다.
그 다음에 아래의 예대로 실행하시면 됩니다. test2013 데이터베이스에서 cyberpr 데이터베이스로 복원이니 test2013과 cyberpr 이라는 단어만 자신의 설정과 맞게 바꾸어 주시면 됩니다.
※ 이미지만 잊고 실행소스 없다면... 아래는 실행소스입니다. USE master GO -- 백업 세트의 Logical Name 을 구합니다. RESTORE FILELISTONLY FROM DISK = 'C:\backup\test2013'
ALTER DATABASE cyberpr SET SINGLE_USER WITH ROLLBACK IMMEDIATE; -- 사용자의 연결을 끊습니다. -- 복구(새로운 이름의 데이터베이스로 복원합니다.) RESTORE DATABASE cyberpr FROM DISK='C:\backup\test2013' WITH RECOVERY, move 'test2013_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\cyberpr_Data.MDF', move 'test2013_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\cyberpr_Log.LDF', REPLACE GO ALTER DATABASE cyberpr SET MULTI_USER; -- 다시 사용자 멀티유저로 사용하도록 설정합니다. |
|
|
|
|