Database/MS-SQL

[스크랩] SQL Server의 사용자 데이터베이스 다른 위치로 이동

99iberty 2014. 4. 7. 17:47

http://support.microsoft.com/kb/980163/ko

 

 

디스크 공간의 부족, 새로운 디스크 추가 또는 다른 관리상의 목적으로 데이터베이스 파일(mdf, ldf)을 다른 디스크 드라이브로 옮겨야 하는 경우가 있습니다. 이 문서에서는 사용자 데이터베이스 파일을 안전하게 다른 위치로 옮기는 방법에 대해서 설명합니다.

Collapse image준비 작업: 데이터베이스 파일의 현재 위치 확인하기

SQL Server Management Studio(이하 SSMS)의 사용자 인터페이스(UI)를 통해서 수행할 수 있는 모든 동작은 SQL 명령을 통해서도 수행할 수 있습니다. 이 문서에서는 aaMovingDB라는 사용자 데이터베이스의 위치를 UI를 통해 옮기는 방법에 대해 설명합니다.
  1. SSMS에서 작업하기를 원하는 SQL Server에 접속합니다. 개체 탐색기로 이동 후, 위치 확인을 원하는 데이터베이스에서 마우스 오른쪽 단추를 클릭한 다음 [속성]을 선택합니다.
  2. 데이터베이스 속성 화면이 표시되면 왼쪽 파일 페이지를 선택합니다.
    그림 축소그림 확대
    01


    오른쪽 화면에서 데이터베이스 파일의 논리적 이름, 경로 및 파일 이름 등을 확인합니다. 예제로 쓰이는 aaMovingDB 데이터베이스의 파일 정보는 다음과 같습니다.
    • 데이터 파일
      • 논리적 이름: aaMovingDB
      • 경로: D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2K8\MSSQL\DATA
      • 파일 이름: aaMovingDB.mdf


    • 로그 파일
        • 논리적 이름: aaMovingDB_log
        • 경로: D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2K8\MSSQL\DATA
        • 파일 이름: aaMovingDB_log.ldf

  3. 탐색기를 통해서 해당 경로에 물리적 파일이 존재하는지 확인합니다.
    그림 축소그림 확대
    02


    참고:
    데이터베이스 파일은 SQL Server에 설정된 기본 데이터 파일 위치에 생성됩니다. 따라서, 처음 부터 파일이 생성되는 위치를 변경하려면 기본 데이터 파일 위치를 변경해 주거나 데이터베이스 생성시 파일의 위치를 명시해 주어야 합니다.
    데이터베이스 기본 위치 확인
    1. SSMS에서 SQL Server에 접속한 후 [개체 탐색기]를 클릭한 다음 [서버명]을 마우스 오른쪽 단추로 클릭한 다음 [속성]을 클릭합니다.
    2. 서버 속성 화면의 왼쪽 페이지에서 [데이터베이스 설정]을 클릭한 다음 오른쪽에 보이는 데이터베이스 기본 위치를 확인합니다.
      그림 축소그림 확대
      03


Collapse image방법

사용자 데이터베이스를 다른 머신에서 수행 중인 SQL Server 인스턴스로 마이그레이션하는 경우도 동일한 인스턴스내에서 다른 폴더로만 옮기는 작업과 동일하게 생각할 수 있습니다. 두 SQL Server 인스턴스 간의 버전만 동일하다면, 인스턴스에 상관없이 다음 방법을 이용하여 사용자 데이터베이스를 옮길 수 있습니다.

Collapse image방법 1: 데이터베이스 분리 후 새 위치에서 연결하기

  1. 사용자 데이터베이스 분리하기
    1. SSMS의 개체 탐색기에서 이동하기을 원하는 DB(aaMovingDB)까지 이동한 후, 마우스 오른쪽 단추를 클릭하여 [태스크], [분리]를 차례대로 클릭합니다.
      그림 축소그림 확대
      04


    2. 데이터베이스 분리 화면에서 분리할 데이터베이스에 aaMovingDB가 나온 것을 확인한 후 [확인]을 클릭합니다.
      그림 축소그림 확대
      05


    3. 이때 aaMovingDB를 사용 중인 다른 연결이 있으면 다음 오류가 발생하며 데이터베이스 분리에 실패하게 됩니다.
      그림 축소그림 확대
      06


    4. 강제로 연결을 끊고 데이터베이스를 분리하려면 연결 삭제 확인란을 선택한 후 [확인]을 클릭합니다.
      그림 축소그림 확대
      07


    5. 통계 업데이트를 먼저 수행한 후 데이터베이스 분리를 원한다면 [확인]을 클릭하기 전에 통계 업데이트 확인란을 선택해 줍니다.
    6. SSMS의 개체 탐색기에서 aaMovingDB가 사라진 것을 확인합니다.
      그림 축소그림 확대
      08


  2. 데이터베이스 파일(mdf, ldf) 옮기기
    1. 탐색기를 통해서 데이터베이스 파일이 여전히 같은 위치에 있는 것을 확인합니다.
    2. 데이터베이스 파일(mdf, ldf)를 원하는 드라이브로 옮겨 놓습니다.
      그림 축소그림 확대
      09


  3. 사용자 데이터베이스 연결하기
    1. SSMS에서 SQL Server에 접속한 후 서버 탐색기의 서버에서 마우스 오른쪽 단추를 클릭하여 [연결]을 클릭합니다.
      그림 축소그림 확대
      10


    2. 데이터베이스 연결 화면에서 연결할 데이터베이스에 보이는 [추가]를 클릭합니다.
    3. 데이터베이스 파일 찾기 화면에서 새로운 위치에 있는 mdf파일(aaMovingDB.mdf)을 찾아서 선택합니다.
      그림 축소그림 확대
      11


    4. 연결할 데이터베이스에 추가된 파일 정보를 확인합니다.
      그림 축소그림 확대
      12


    5. “aaMovingDB” 데이터베이스 정보가 추가된 것을 확인합니다.
      그림 축소그림 확대
      13


    6. 데이터베이스 연결 화면에서 [확인]을 클릭합니다.
    7. SSMS의 서버 탐색기에서 데이터베이스에서 마우스 오른쪽 단추를 클릭 후 [새로 고침]을 클릭하여 aaMovingDB가 데이터베이스 목록에 나타난 것을 확인합니다.
      그림 축소그림 확대
      14


    8. aaMovingDB에서 마우스 오른쪽 단추를 클릭 후 [속성]을 클릭하여 창을 띄운 후 파일 페이지를 선택하여 변경된 데이터베이스 파일 경로를 확인합니다.
      그림 축소그림 확대
      15


    9. [확인]을 클릭하여 데이터베이스 속성 창을 닫습니다.

Collapse image방법 2: 백업 파일을 이용하여 새 위치에서 복원하기

전체 백업 파일이 있는 경우 데이터베이스 복원 시에 파일(mdf,ldf) 위치를 임의로 지정할 수 있습니다.
  1. SSMS에서 aaMovingDB를 마우스 오른쪽 단추로 클릭한 다음 [태스크], [복원], [데이터베이스]를 차례대로 클릭합니다.
    그림 축소그림 확대
    16


  2. 데이터베이스 복원 화면의 일반 페이지에서 복원 정보를 확인합니다.
  3. 복원 대상데이터베이스에 aaMovingDB가 선택된 것을 확인합니다.
    그림 축소그림 확대
    17


    참고: 데이터베이스가 없는 상태에서 복원하는 것이라면 여기에 aaMovingDB를 직접 입력해 주어야 합니다.
  4. 백업본의 방식에 따라 복원에 사용할 원본을 선택합니다.
    동일한 SQL Server인스턴스에서 수행했던 데이터베이스 백업을 복원하는 경우에는 1번을 참고하고, 스크립트를 이용하여 백업을 받았거나 다른 SQL Server인스턴스에서 받은 백업 파일이라면 2번을 참고하세요.
    1. 데이터베이스에 aaMovingDB가 선택되었고 복원에 사용할 백업 세트 중 하나가 체크되어 있는지 확인합니다.
      그림 축소그림 확대
      18


    2. 복원에 사용할 원본에서 장치를 선택한 후 위치 단추를 클릭하여 백업 파일의 위치를 지정합니다.
      그림 축소그림 확대
      19


      참고
      복원에 사용할 백업 세트 선택에 추가된 백업본이 여러개일 수 있습니다. 그 중에서 반드시 한개의 백업본은 복원란에 있는 확인란은 선택되어 있어야 합니다.
      그림 축소그림 확대
      20


  5. 데이터베이스 복원 화면의 옵션 페이지를 선택하여 설정된 파일 경로를 확인합니다.
    그림 축소그림 확대
    21


    참고
    백업 파일의 헤더에는 백업 당시 파일의 위치가 그대로 들어 있어서 복원시에 참조하게 됩니다. 다음으로 복원란에는 기본적으로 이 값이 들어 있게 됩니다.
  6. 복원 옵션에서 데이터베이스 파일을 다음으로 복원에 나오는 다음으로 복원 정보를 원하는 위치로 수정합니다. 다음으로 복원란에는 반드시 파일명까지 정확히 명시되어야 합니다.
    그림 축소그림 확대
    22


    참고
    aaMovingDB가 복원하려는 SQL Server에 존재하지 않으면 그대로 확인을 클릭하여 복원을 진행합니다. 하지만, 데이터베이스가 이미 있는 상태에서 복원을 시도하는 것이라면 복원 옵션에서 기존 데이터베이스 덮어쓰기(WITH REPLACE)를 반드시 체크해 주어야 합니다.
  7. 복원 완료 메시지 화면이 나타나면 [확인]을 클릭하여 복원 작업을 완료합니다.
    그림 축소그림 확대
    23


Collapse image추가 정보

 

 

기술 자료: 980163 - 마지막 검토: 2013년 9월 27일 금요일 - 수정: 1.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
키워드:
kbhowto kbstepbystep KB980163