, ,

저번에 디비 이관작업하다가 대박 사고가 나니
"역시 디비옮길땐 파일을 옮기는것 만큼 좋은게 없구나"
라는 생각을 더욱 하고 있습니다 ㅜㅡ

어찌됬건 .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'

이런식으로 하시면 됩니다.



  1. 2015.09.25 17:40  Address  Edit/Delete  Reply

    비밀댓글입니다

  2. 민지 2016.07.07 01:13 신고  Address  Edit/Delete  Reply

    실수로 태스크 - detach(분리) 했는데 사라졌네요 ㅜㅜ다시돌려올방법은없나요

    • Favicon of http://blog.danggun.net BlogIcon 당근천국 2016.07.07 09:15 신고  Address  Edit/Delete

      분리한건 다시 연결하시면 됩니다.
      분리한다고 해서 db데이터가 사라지지 않습니다.
      db생성하는 대화상자에 보면 디폴트위치가 표시되는데 찾아보시면 될겁니다.

댓글 작성

이름
패스워드
홈페이지
비밀글

티스토리 툴바