저번에 디비 이관작업하다가 대박 사고가 나니
"역시 디비옮길땐 파일을 옮기는것 만큼 좋은게 없구나"
라는 생각을 더 욱 하고 있습니다 ㅜㅡ
'.bak'로 통빽업을 했다면 안에 'mdf'파일과 'ldf'파일이 그대로 있으니 너무 걱정하지 않으셔도 됩니다.
(하지만 증분빽업된거라면? 명복을 ㅎㅎㅎ)
복원하기전에 아래 명령을 사용하여 백업파일의 정보를 확인해야 합니다.
--1) DB 백업 파일 정보 restore filelistonly from disk='[경로]' --mdf와 ldf파일의 이름을 확인한다.
위에서 얻은 정보를 이용해 아래 명령을 실행합니다.
-- 2-1) DB 복구 restore database [넣을DB 이름] from disk='[경로]' with move '[1)에서 확인한 mdf이름]' to '[저장될 mdf파일의 경로]', move '[1)에서 확인한 ldf이름]' to '[저장될 ldf파일의 경로]' --넣을DB 이름은 DB에 있으면 안된다. --절대 미리 생성하면 안된다는 이야기 -- 2-2) .bak 파일이 여러개인경우 Restore Database [넣을DB 이름] From Disk='[저장될 파일의 경로1]' , Disk='[저장될 파일의 경로1]'
백업된 파일의 크기에 비래해서 시간이 걸립니다.
복원이 완료되면 '2)'에서 넣은 DB이름으로 DB가 생성되있습니다.
만약 mdf파일이나 ldf파일을 이동시키기려면 연결을 끊어주고 하셔야 합니다.
샘플을 통해 위 코드를 어떻게 사용하는지 알아봅시다.
--DB 정보 확인 restore filelistonly from disk='D:\test_server.bak' --DB 복구 restore database test_server from disk='D:\test_server.bak' with move 'server_Data' to 'D:\test_server.mdf', move 'server_Log' to 'D:\test_server_log.ldf'
만약 파일이 여러개로 분할 되있다면
Restore Database db_Test From Disk='D:\test_DB\test_2012_09_15_1.bak' , Disk='D:\test_DB\test_2012_09_15_2.bak'
사실 그냥 쉬운걸로만 따지자면 파일을 통으로 옮기는게 가장 쉽습니다.
필요에 따라서 쓰는것이죠 ㅎㅎㅎ