본문 바로가기

Software/Windows-MS SQL

MS SQL Server DB 옮기기.

서버 컴을 옮겨야 하는 경우가 생겼습니다.

쿼리에서 BACKUP , RESTORE 를 해도 되지만...왠지 번거롭고..
32비트에서 64비트로 옮길땐 (SQL 2008 이후 64비트 전용 버젼이 있는경우) 약간에 트러블이 있더군요..

그래서 그냥 파일을 옮기는 법을 소개 합니다.


우선 원래 디비에 C:\Program Files\Microsoft SQL Server\MSSQL\Data 경로를 보면..
(위에 캡쳐 화면처럼 32,64 비트에 따라서 설치된 SQL 갯수에 따라서 조금 차이가 있습니다.)
디비명.mdf , 디비명_log.ldf 파일이 존재 합니다.

이파일을 옮기려는 컴에 해당 경로나 아니면 원하는 경로 아무데나 복사를 한후.
쿼리 분석기에서 아래와 같이 DB를 Attach 해주면 디비가 옮겨 집니다.

EXEC sp_attach_db @dbname = N'디비이름',
   @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\디비이름.mdf'
   @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\디비이름_log.ldf'

이도 저도 싫고...쿼리 치기 귀찮다면....

새로운 서버에 기존 디비명과 똑같이 파일을 만들어 주고, (만들때 파일이 존재할 폴더를 확인하거나 바꿀수 있습니다.)
새로운 서버에 SQL 죽이고,
원본 서버에 SQL도 죽이고..
원본 서버에 C:\Program Files\Microsoft SQL Server\MSSQL\Data 폴더에 해당 디비를..
새로운 서버에 C:\Program Files\Microsoft SQL Server\MSSQL\Data  폴더에 복사합니다.
(상황에 따라서 파일명이 좀 틀릴수도 있지만 얼추 비슷합니다.)
그리고 죽여 놨던 새로운 SQL 을 다시 살려도 됩니다.