다음을 통해 공유


데이터베이스 전송 태스크

데이터베이스 전송 태스크는 두 SQL Server 인스턴스 간에 SQL Server 데이터베이스를 전송합니다. SQL Server 개체를 복사하여 전송하는 다른 태스크와 달리 데이터베이스 전송 태스크는 데이터베이스를 복사 또는 이동할 수 있습니다. 태스크는 SQL Server 2000 인스턴스 간, SQL Server 인스턴스 간 또는 각 버전 인스턴스 간에 데이터베이스를 복사할 수 있습니다. 동일한 서버 내에서 데이터베이스를 복사하는 데도 전송 태스크를 사용할 수 있습니다.

온라인 또는 오프라인 모드에서 데이터베이스를 전송할 수 있습니다. 온라인 모드를 사용하는 경우 데이터베이스는 연결된 상태를 유지하며 데이터베이스 개체를 복사하는 SMO(SQL Management Object)를 통해 전송됩니다. 오프라인 모드를 사용하는 경우 데이터베이스가 분리된 상태로 데이터베이스 파일을 복사 또는 이동하며 성공적으로 전송을 완료한 다음 대상에 데이터베이스를 연결합니다. 데이터베이스를 복사하면 복사가 완료될 때 자동으로 원본에 다시 연결됩니다. 오프라인 모드에서는 좀 더 빠르게 데이터베이스를 복사할 수 있지만 전송하는 동안 데이터베이스를 사용할 수 없습니다.

오프라인 모드를 사용하려면 데이터베이스 파일을 가진 대상 서버 및 원본 서버에 네트워크 파일 공유를 지정해야 합니다. 폴더를 공유하여 사용자가 액세스할 수 있는 경우 \\computername\Program Files\myfolder\ 구문을 사용하여 네트워크 공유를 참조할 수 있습니다. 그렇지 않으면 \\computername\c$\Program Files\myfolder\ 구문을 사용해야 합니다. 두 번째 구문을 사용하려면 원본 및 대상 네트워크 공유에 대한 쓰기 액세스가 필요합니다.

데이터베이스 전송이 실패하는 경우 태스크가 원본 데이터베이스에 다시 연결할지 여부를 지정할 수 있습니다.

동일한 이름의 대상 데이터베이스를 덮어쓰고 대상 데이터베이스를 대체할 수 있도록 데이터베이스 전송 태스크를 구성할 수 있습니다.

전송 과정의 일부로 원본 데이터베이스의 이름을 바꿀 수 있습니다. 대상 SQL Server 인스턴스에 이미 같은 이름의 데이터베이스가 있는 경우 원본 데이터베이스의 이름을 변경하여 데이터베이스를 전송할 수 있습니다. 그러나 같은 이름의 데이터베이스 파일이 대상에 있는 경우에는 태스크가 실패하므로 데이터베이스 파일의 이름은 반드시 달라야 합니다.

데이터베이스를 복사할 경우 데이터베이스는 대상 서버에 있는 model 데이터베이스의 크기보다 작을 수 없습니다. 복사할 데이터베이스의 크기를 늘리거나 model의 크기를 줄일 수 있습니다.

데이터베이스 전송 태스크는 런타임에 한 개 또는 두 개의 SMO 연결 관리자를 사용해 원본 서버 및 대상 서버에 연결합니다. 동일한 서버에 데이터베이스 복사본을 만드는 경우 하나의 SMO 연결 관리자만 필요합니다. SMO 연결 관리자는 데이터베이스 전송 태스크와 별도로 구성된 후 데이터베이스 전송 태스크에서 참조됩니다. SMO 연결 관리자는 태스크가 서버에 액세스할 때 사용할 서버 및 인증 모드를 지정합니다. 자세한 내용은 SMO 연결 관리자를 참조하십시오.

SQL Server 버전 간 데이터베이스 전송

데이터베이스 전송 태스크에서는 SQL Server 2000 및 SQL Server를 지원하며 SQL Server 2000 인스턴스 간, SQL Server 인스턴스 간 및 SQL Server 2000 인스턴스에서 SQL Server 인스턴스로 데이터베이스를 전송할 수 있습니다.

이벤트

데이터베이스 전송 태스크는 오류 메시지 전송의 진행 상황은 보고하지 않으며 0% 및 100% 완료만 보고합니다.

실행 값

다른 전송 태스크와 달리 데이터베이스 전송 태스크는 한 개의 데이터베이스만 전송할 수 있으므로 태스크의 ExecutionValue 속성에 정의된 실행 값은 1을 반환합니다.

데이터베이스 전송 태스크의 ExecValueVariable 속성에 사용자 정의 변수를 할당하면 패키지 내의 다른 개체에서 오류 메시지 전송에 대한 정보를 사용할 수 있습니다. 자세한 내용은 Integration Services 변수패키지에서 변수 사용을 참조하십시오.

로그 항목

데이터베이스 전송 태스크는 다음 사용자 지정 로그 항목을 포함합니다.

  • SourceSQLServer 이 로그 항목은 원본 서버의 이름을 나열합니다.

  • DestSQLServer 이 로그 항목은 대상 서버의 이름을 나열합니다.

  • SourceDB 이 로그 항목은 전송된 데이터베이스의 이름을 나열합니다.

또한 대상 데이터베이스를 덮어쓰는 경우 OnInformation 이벤트에 대한 로그 항목이 기록됩니다.

보안 및 사용 권한

오프라인 모드를 사용해 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 서버 역할의 멤버여야 합니다.

온라인 모드를 사용해 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 서버 역할의 멤버이거나 선택한 데이터베이스의 데이터베이스 소유자(dbo)여야 합니다.

데이터베이스 전송 태스크 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

SSIS 디자이너에서 이러한 속성을 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

프로그래밍 방식으로 데이터베이스 전송 태스크 구성

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN 또는 TechNet의 Integration Services 페이지를 방문하십시오.

이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.