디스크를 증설하거나 다른 디스크로 데이터베이스를 이동해야하는 경우가 있다. 이런 필요성이 있는 경우는 대부분 데이터베이스에 데이터가 무척 빠른 속도로 증가하여 디스크의 공간이 부족한 경우가 대부분이다.
때문에 Export / Import 하기도 부담스럽고 또 귀찮기도 하다. 만약 중간에 에러가 나면... 큰일이기도 하고...

그렇기 때문에 데이터베이스의 물리적인 데이터파일을 이동시키는 것이 어찌보면 가장 빠르고 편한 방법이다.
이때는 다음과 같이 데이터베이스를  떼어내고 파일을 복사한 뒤 다시 붙이는 방법으로 진행하면 된다.


SQL엔터프라이브 매니저에서 새쿼리 창을 열고
(그 전에 데이터베이스를 사용하는 다른 서비스들을 종료한다.)

1. sp_detach_db 으로 데이터베이스를 분리시킨다.

    USE master
    EXEC sp_detach_db '데이터베이스이름', 'true'

    SQL엔터프라이즈매니저에서 해당 데이터베이스가 사라진다.
    하지만 실제로 데이터베이스 파일은 그대로 남아 있다.

2. C 드라이브에 있는 데이터베이스 파일을 D:\DATA\ 와 같이 원하는 곳으로
    이동한다. (복사 혹은 CUT/PASTE)

3. sp_attach_db 를 이용하여 D드라이브(D:\DATA\)에 데이터베이스를 붙여준다.
    만약 데이터베이스 명칭이 변경되면 데이터베이스를 사용하는 서비스들의 DB설정을
    다시해주어야 하므로 변경하지 않는 것이 편하다.

    EXEC sp_attach_db @dbname = N'데이터베이스이름',
    @filename1 = N'D:\DATA\데이터베이스파일이름.mdf',
    @filename2 = N'D:\DATA\로그파일이름.ldf'

4. DB를 사용하는 서비스를 재구동 한다.
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">