DetailPage-MSS-KB

기술 자료

기술 자료: 274463 - 마지막 검토: 2011년 5월 17일 화요일 - 수정: 7.0

이 문서는 이전에 다음 ID로 출판되었음: KR274463

이 페이지에서

요약

데이터베이스 복사 마법사는 SQL Server 2000의 새로운 기능으로, SQL Server 7.0 또는 SQL Server 2000에서 SQL Server 2000으로 데이터베이스를 이동하거나 복사할 수 있습니다. 복사나 이동 과정이 상대적으로 간단하며 이러한 작업을 수행할 때 다른 부분에 거의 영향을 미치지 않습니다. 본 문서에서는 데이터베이스 복사 마법사의 작동 방법에 대한 정보를 제공하며 마법사를 사용할 때 주의해야 할 몇 가지 사항을 설명합니다.

추가 정보

또는

데이터베이스 복사 마법사를 열려면 다음을 수행하십시오.
  • SQL Server 엔터프라이즈 관리자에서 관리를 누른 다음 마법사 실행을 누릅니다.

    또는

  • 데이터베이스 폴더를 마우스 오른쪽 단추로 누르고 모든 작업을 누른 다음 데이터베이스 복사 마법사를 누릅니다.

    또는

  • 명령 프롬프트에서 Cdw.exe를 입력한 다음 Enter 키를 누릅니다.
마법사는 복사하거나 이동할 데이터베이스를 분리하고 해당 데이터베이스와 관련된 파일을 대상 서버로 복사한 다음 데이터베이스를 연결합니다. 데이터베이스의 분리와 연결은 다음 저장 프로시저를 통해 수행됩니다.
  • sp_detach_db



  • sp_attach_db
두 저장 프로시저에 대한 자세한 내용은 SQL Server 온라인 설명서에서 "sp_attach_db"와 "sp_detach_db" 항목을 참조하십시오.

파일의 실제 복사는 명령줄 COPY 명령을 실행하는 XP_CMDSHELL을 통해 수행됩니다. 이런 이유로 데이터베이스 복사 마법사를 실행하는 계정은 sysadmin의 구성원이어야 합니다. 자세한 내용은 SQL Server 온라인 설명서에서 "데이터베이스 복사 마법사 사용"을 참조하십시오.

마법사는 다음 단계를 수행합니다.
  1. 파일을 복사할 원본 컴퓨터에 UNC 공유 지점을 만듭니다.
  2. 원본 데이터베이스에 활성 연결이 있는지 확인합니다.
  3. 데이터베이스를 단일 사용자 모드로 설정합니다.
  4. 원본 데이터베이스를 분리합니다.
  5. 파일이 대상 컴퓨터에 있는지 확인한 다음 데이터베이스 파일을 앞에서 만든 공유 지점에 복사합니다.
  6. 원본 서버에 있는 데이터베이스를 다시 연결합니다.
  7. 대상 서버에 있는 데이터베이스를 연결합니다.
  8. UNC 공유를 제거합니다.
  9. 데이터베이스를 원래 모드(단일 사용자, 다중 사용자 등)로 다시 전환합니다.
복사 또는 이동 중인 데이터베이스와 관련된 개체를 이동할 수 있는 4가지 추가 기능이 있습니다.
  • 로그인(권장)
    • 모든 로그인은 패키지 실행 시 검색됩니다.
    • 로그인은 선택한 데이터베이스에 의해서만 사용됩니다.
  • master 데이터베이스의 공유 저장 프로시저(옵션)
    • 모든 저장 프로시저는 패키지 실행 시 검색됩니다.
    • 사용자가 선택한 저장 프로시저
  • msdb에서 작업을 선택합니다(옵션).
    • 모든 작업이 패키지 실행 시 검색됩니다.
    • 사용자가 선택한 작업
  • 사용자 정의 오류 메시지(옵션)
    • 모든 오류 메시지는 패키지 실행 시 검색됩니다.
    • 사용자가 선택한 오류 메시지

마법사가 DTS 패키지 작성

데이터베이스 복사 마법사는 대상 서버에서 실행되는 DTS(데이터 변환 서비스) 패키지를 작성하고 즉시 실행하거나 나중에 실행하도록 예약할 수 있습니다. 또는 DTS 디자이너 도구를 사용하고 데이터베이스 전송 작업을 눌러 데이터베이스 DTS 패키지 복사본을 수동으로 만들 수 있습니다. 자세한 내용은 SQL Server 2000 온라인 설명서에서 데이터베이스 개체 전송 작업 항목을 참조하십시오.

반복 또는 한 번 실행하도록 예약되어 있는 패키지는 저장됩니다. 따라서 대상 서버에서 SQL Server 에이전트를 시작해야 합니다. 데이터베이스 전송 DTS 패키지는 패키지 예약 및 실행과 관련된 요구 사항과 사용 권한을 포함하여 다른 DTS 패키지 같이 처리해야 합니다. 예약된 DTS 패키지 문제를 해결하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
269074  (http://support.microsoft.com/kb/269074/ ) INF: DTS 패키지를 예약된 작업으로 실행하는 방법
원본 데이터베이스 서버가 될 수 있는 Microsoft SQL Server 7.0에서만 데이터베이스 복사 마법사를 사용할 수 있습니다. Microsoft SQL Server 6.x 이전 버전에서는 마법사를 사용할 수 없습니다.

데이터베이스 복사 마법사 로그 - DTS 패키지 로그

CDW 이벤트 로그는 MSDB..sysdtspackagelog 시스템 테이블에 저장되며 SEM(SQL 엔터프라이즈 관리자)을 사용하여 볼 수 있습니다. 로그를 보려면 다음 단계를 수행하십시오.
  1. 패키지가 저장된 대상 서버에서 SEM을 열고 데이터 변환 서비스 폴더를 확장합니다.
  2. 로컬 패키지에서 로그를 볼 패키지를 찾습니다. 기본적으로 패키지 이름은 CDW_SourceServer_DestinationServer_autonumber입니다.
  3. 패키지를 마우스 오른쪽 단추로 누르고 패키지 로그 옵션을 선택합니다.
  4. DTS 패키지 버전 및 로그 트리에서 더하기(+) 기호를 눌러 확장하고 로그 목록을 봅니다.
이 대화 상자를 사용하면 이 패키지에 대한 로그를 보거나 드롭다운 상자에서 다른 패키지를 선택할 수 있습니다. 또한 삭제 단추를 눌러 필요하지 않은 로그는 삭제할 수도 있습니다.

또는 출력 파일을 생성하도록 DTS 패키지를 구성하여 문제 해결 시 사용할 수 있습니다.
  1. 패키지를 마우스 오른쪽 단추로 누르고 패키지 디자인을 선택합니다.
  2. 패키지 메뉴에서 등록 정보를 선택합니다.
  3. 로깅 탭에서 오류 파일을 지정합니다.

    이 파일에는 패키지 실행에 대한 자세한 정보가 포함됩니다.

파일 복사 권한

대상 SQL Server 시작 계정은 도메인 계정이어야 하며 원본에서 대상으로 파일을 복사할 수 있도록 원본 SQL Server 서버 컴퓨터에 로컬 관리자 권한이 있어야 합니다.

대상 SQL Server를 로컬 시스템 계정에서 시작한 경우 아래와 같은 오류 메시지가 나타날 수 있습니다.
SQL Server 서비스가 로컬 시스템 계정에서 실행 중입니다. 네트워크를 통해 파일을 복사할 수 있는 권한을 얻으려면 SQL Server 서비스 계정을 변경해야 합니다.
대상 SQL Server가 원본 컴퓨터에 로컬 관리자 권한이 없는 도메인 계정에서 시작한 경우 마법사에서 아래와 같은 오류 메시지를 표시할 수 있습니다.
단계 오류 출처: Microsoft Data Transformation Services (DTS) Package
단계 오류 설명:Unspecified error

단계 오류 코드: 80004005
단계 오류 도움말 파일:sqldts80.hlp
단계 오류 도움말 컨텍스트 ID:1100
"추가 정보 >>>" 단추를 누르면 원격 공유를 만드는 권한이 없는 것을 알 수 있습니다.
OMWWIZD 공유를 만들지 못했습니다.

데이터베이스 분리 확인

앞에서 설명했듯이 데이터베이스 복사 마법사는 원본 데이터베이스를 대상 서버에 복사하기 전에 분리합니다. 데이터베이스에 문제가 있는 것으로 의심되거나 분리 또는 다시 연결하지 못하도록 하는 다른 문제가 있는 경우에는 데이터베이스 복사 마법사를 실행하지 마십시오. 예를 들어 I/O(입출력) 오류(예: 오류 823), 데이터 무결성 오류(예: 테이블 손상) 또는 알려진 하드웨어 문제(예: 시스템 이벤트 로그에 SCSI 포트 오류나 컨트롤러 오류) 등의 문제가 데이터베이스에 다시 연결하는 것을 방해할 수 있습니다.

원본 데이터베이스가 '읽기 전용', '오프라인', '주의 대상', '응급' 또는 '로드 중'으로 표시되어 있지 않은지 확인하십시오. 이러한 상태로 표시되어 있으면 분리에 실패합니다. 데이터베이스를 분리할 때는 데이터베이스의 통계를 업데이트해야 하므로 데이터베이스가 쓰기 가능한 상태가 아니면 통계 업데이트에 실패하게 되므로 분리에 실패하게 됩니다. 데이터베이스가 쓰기 가능한 상태가 아니어서 분리에 실패한 경우에는 다음 오류 메시지가 생성됩니다.
<DatabaseName> 데이터베이스를 분리하지 못했습니다.
오류 보기 단추를 누르면 다음 오류 메시지가 표시됩니다.
단계 오류 출처: Microsoft Data Transformation Services (DTS) Package
단계 오류 설명:Unspecified error

단계 오류 코드: 80004005
단계 오류 도움말 파일:sqldts80.hlp
단계 오류 도움말 컨텍스트 ID:1100
또한 데이터베이스를 분리하려면 단일 사용자 모드에 있거나 데이터베이스에 연결된 사용자가 없어야 합니다. 여러 사용자가 데이터베이스를 사용하는 경우 마법사는 아래와 같은 오류 메시지를 표시하고 중단될 수 있습니다.
단계 오류 출처: Microsoft Data Transformation Services (DTS) Package
단계 오류 설명:Unspecified error

단계 오류 코드: 80004005
단계 오류 도움말 파일:sqldts80.hlp
단계 오류 도움말 컨텍스트 ID:1100
추가 정보 단추를 누르면 다음과 같은 문제의 원인이 나타납니다.
[dbname] 데이터베이스에 [N]개의 활성 연결이 있습니다. 데이터베이스가 전송되지 않습니다.

데이터베이스 분리 권한

데이터베이스를 분리하려면 특정 권한이 필요합니다. SQL Server 2000 온라인 설명서에서는 다음과 같이 마법사를 사용할 적절한 사용 권한을 설명합니다.
"데이터베이스 복사 마법사를 사용하려면 시스템 관리자이거나 sysadmin 역할의 구성원이어야 합니다. Microsoft Windows NT® 4.0 또는 Microsoft Windows® 2000을 실행하는 경우 사용자 계정은 대상 서버에 관리자 권한을 갖고 있어야 합니다."

대상 디렉터리 존재 확인

CDW(데이터베이스 복사 마법사)를 사용할 때 데이터베이스 파일 위치 화면에서 수정 단추를 누르고 대상 디렉터리가 올바른지 확인합니다. 디렉터리가 없을 경우 CDW는 다음 오류를 표시하며 실패할 수 있습니다.
단계 오류 출처: Microsoft Data Transformation Services (DTS) Package
단계 오류 설명:Unspecified error

단계 오류 코드: 80004005
단계 오류 도움말 파일:sqldts80.hlp
단계 오류 도움말 컨텍스트 ID:1100
"추가 정보 >>>" 단추를 누르면 해당 디렉터리가 없는 것을 알 수 있습니다.
대상 디렉터리가 없기 때문에 \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft SQL Server\MSSQL\Data\Filename_Data.mdf 파일을 복사할 수 없습니다

이동 옵션으로 데이터베이스 제거

데이터베이스 복사 대신 이동을 선택하면 원본 SQL Server 서버에서 데이터베이스가 제거됩니다. 특히 데이터베이스가 원본 서버에서 분리되어 다시 연결되지 않습니다. 그러나 원본 데이터베이스 파일(.mdf, .ndf, .ldf)은 원본 서버에 남아 있으며, 공간을 고려하여 필요하지 않을 경우에는 수동으로 삭제해야 합니다. 데이터베이스 복사 마법사를 완료하는 중 대화 상자에 아래와 같은 경고 메시지가 나타납니다.
'Pubs' 데이터베이스는 복사되지만 대상 서버에서만 사용할 수 있습니다. 관리자는 원본 서버에 있는 'Pubs' 데이터베이스의 데이터와 로그 파일을 삭제해야 합니다.
그러나 실수로 복사 옵션 대신 이동 옵션을 선택한 경우 해당 파일을 서버에 안전하게 다시 연결하여 데이터베이스를 복구할 수 있습니다.

로그인 이동

데이터베이스 복사 마법사의 새 기능은 수동으로 로그인을 이동하는 문제를 해결해 줍니다. 마법사는 데이터베이스 사용자에 해당하는 로그인을 식별하고 데이터베이스 이동이나 복사의 일부로 로그인을 이동하거나 복사할 수 있는 옵션을 제공합니다. SQL Server 표준 인증 로그인과 Microsoft Windows NT 및 Microsoft Windows 2000 인증 로그인이 모두 마법사를 통해 이동됩니다.

이전 버전의 SQL Server에서는 복사하거나 이동 중인 데이터베이스의 사용자와 관련된 로그인을 이동하려면 직접 이동해야 합니다. SQL Server의 이전 버전에서 로그인 전송에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
168001  (http://support.microsoft.com/kb/168001/ ) PRB: 덤프 복원 후 사용자 로그온 및/또는 권한 오류
246133  (http://support.microsoft.com/kb/246133/ ) HOWTO: SQL Server 인스턴스 간에 로그인 및 암호 전송
SQL Server에 대한 로그인 액세스 권한이 부여된 로컬 Windows NT/2000 그룹 및 사용자는 다른 컴퓨터 간에 전송할 수 없습니다. 전송을 시도하면 로그인 전송이 실패하게 됩니다. "추가 정보>>>" 단추를 누르면 다음과 같은 문제의 원인이 나타납니다.
"Transfer Login SourceMachine\LocalGroup1 Failed "
또는
"Transfer Login SourceMachine\LocalUser1 Failed "

데이터베이스/파일이 존재하거나 디스크 공간이 부족

데이터베이스를 전송할 때 마법사는 데이터베이스가 대상 서버에 있는지 여부를 검색합니다. 이동하거나 복사할 데이터베이스 선택 대화 상자는 데이터베이스가 이동/복사 가능 상태로 전송될 수 있거나 데이터베이스가 이미 있음 또는 master 데이터베이스와 같은 시스템 데이터베이스이기 때문에 전송할 수 없음을 나타냅니다.

또한 데이터베이스 전송은 동일한 데이터베이스 파일이 대상 서버에 이미 있는 경우 중지될 수도 있습니다. 따라서 대상에 있는 Pubs 데이터베이스와 동일한 파일 이름을 갖는 MyPubs라는 이름의 데이터베이스가 있을 수 있습니다. 해당하는 파일 대상이 빨간색 X로 표시되어 있습니다.
"원본에 있는 파일과 대상에 있는 파일 이름이 같거나 대상에서 사용 가능한 디스크 공간이 부족합니다."
이 오류 메시지가 나타나지 않도록 하려면 대상 서버에 만들 파일 이름을 수정하거나 실제 위치를 만들 위치로 변경하십시오.

대상 서버의 디스크 공간이 부족해도 전송이 방해받을 수 있습니다. 드라이브를 변경하거나 일부 파일을 삭제하여 충분한 공간을 확보하십시오.

전체 텍스트 검색 중지. 전체 텍스트 카탈로그 파일이 전송되지 않았음

데이터베이스에 전체 텍스트 카탈로그가 포함되어 있으면 데이터베이스 복사 마법사를 사용하여 전송하는 데는 두 가지 효과가 있습니다. 첫째 데이터베이스가 단일 사용자 모드로 설정될 수 있도록 FT(전체 텍스트) 카탈로그 검색이 마법사에 의해 중지됩니다. 둘째 FT 카탈로그 파일이 마법사에 의해 이동되지 않습니다. 데이터베이스 복사 마법사를 실행한 후에 원본이나 대상 SQL 서버에서 전체 텍스트 검색 쿼리를 실행하려고 하면 아래와 같은 오류 메시지가 나타날 수 있습니다.
서버: 메시지 7616, 수준 16, 상태 1, 줄 1
현재 데이터베이스에서 전체 텍스트 검색이 활성화되어 있지 않습니다. sp_fulltext_database를 사용하여 데이터베이스의 전체 텍스트 검색을 활성화하십시오.
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
303224  (http://support.microsoft.com/kb/303224/ ) FIX: 데이터베이스 복사 마법사를 사용하여 데이터베이스를 복사하면 원본 데이터베이스에서 전체 텍스트 인덱싱이 비활성화된다
원본과 대상 SQL Server 서버에서 전체 텍스트 검색을 수행하려면 다음과 같이 하십시오.
  1. 다음 저장 프로시저를 실행하여 원본 및/또는 대상 데이터베이스에서 전체 텍스트 인덱싱을 활성화합니다.
    sp_fulltext_database 'enable'
    					
  2. 모든 카탈로그에서 전체 채우기를 수행합니다.
SQL Server 온라인 설명서의 관련 내용은 다음과 같습니다.
"데이터베이스를 전체 텍스트 카탈로그와 함께 복사하려는 경우 복사 작업이 완료된 후에 원본 서버에서 데이터베이스에 대한 전체 텍스트 카탈로그를 사용할 수 없습니다. 대상 서버에서 전체 텍스트 카탈로그를 수동으로 다시 채워야 합니다.

데이터베이스를 전체 텍스트 카탈로그와 함께 이동하려는 경우 데이터베이스가 이동될 때 관련된 전체 텍스트 카탈로그 파일은 이동되지 않습니다. 이러한 파일은 데이터베이스 관리자가 수동으로 이동해야 합니다."
전체 텍스트 카탈로그를 이동하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
240867  (http://support.microsoft.com/kb/240867/ ) INF: SQL 7.0 전체 텍스트(Full-Text) 카탈로그 폴더와 파일을 이동, 복사 및 백업하는 방법

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
327270  (http://support.microsoft.com/kb/327270/ ) Windows Server 2003 터미널 서버 응용 프로그램 서버에서 SQL Server 2000이 지원되지 않는다




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx) 에 참여하시기 바랍니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
키워드: 
kbsqlmanagementtools kbinfo KB274463
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store