데이터베이스 전송 태스크

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

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

오프라인 및 온라인 모드

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

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

SQL Server 버전 간에 데이터베이스 이동

데이터베이스 전송 태스크는 여러 SQL Server 버전의 인스턴스 간에 데이터베이스를 전송할 수 있습니다.

이벤트

데이터베이스 이동 작업은 오류 메시지 이동의 증분 진행률을 보고하지 않습니다. 0%와 100% 완료만 보고합니다.

실행 값

다른 이동 작업과 달리 데이터베이스 이동 작업은 한 개의 데이터베이스만 이동할 수 있으므로 작업의 ExecutionValue 속성에 정의된 실행 값은 1을 반환합니다.

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

로그 항목

데이터베이스 이동 작업에는 다음 사용자 지정 로그 항목이 포함됩니다.

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

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

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

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

보안 및 사용 권한

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

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

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

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

데이터베이스 이동 작업은 이름이 같은 대상 데이터베이스를 덮어쓰고 대상 데이터베이스를 대체하도록 구성할 수도 있습니다.

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

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

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

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

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

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

데이터베이스 이동 작업의 프로그래매틱 구성

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 주제를 클릭하세요.

데이터베이스 전송 태스크 편집기(일반 페이지)

데이터베이스 이동 작업 편집기 대화 상자의 일반 페이지를 사용하여 데이터베이스 이동 작업을 명명 및 설명할 수 있습니다. 데이터베이스 전송 태스크는 두 SQL Server 인스턴스 간에 SQL Server 데이터베이스를 복사 또는 이동합니다. 이 작업을 사용하여 동일한 서버 내에서 데이터베이스를 복사할 수도 있습니다.

옵션

이름
데이터베이스 이동 작업의 고유한 이름을 입력합니다. 이 이름은 태스크 아이콘에서 레이블로 사용됩니다.

참고

태스크 이름은 패키지 내에서 고유해야 합니다.

설명
데이터베이스 이동 작업에 대한 설명을 입력합니다.

데이터베이스 이동 작업 편집기(데이터베이스 페이지)

데이터베이스 이동 작업 편집기 대화 상자의 데이터베이스 페이지를 사용하여 데이터베이스 이동 작업과 관련된 원본 및 대상 데이터베이스의 속성을 지정할 수 있습니다. 데이터베이스 전송 태스크는 두 SQL Server 인스턴스 간에 SQL Server 데이터베이스를 복사 또는 이동합니다. 이 작업을 사용하여 동일한 서버 내에서 데이터베이스를 복사할 수도 있습니다.

옵션

SourceConnection
목록에서 SMO 연결 관리자를 선택하거나 <새 연결...>을 클릭하여 원본 서버에 대한 새 연결을 만듭니다.

DestinationConnection
목록에서 SMO 연결 관리자를 선택하거나 <새 연결...>을 클릭하여 대상 서버에 대한 새 연결을 만듭니다.

DestinationDatabaseName
대상 서버에 있는 SQL Server 데이터베이스의 이름을 지정합니다.

이 필드를 원본 데이터베이스 이름으로 자동으로 채웁니다. 먼저 SourceConnectionSourceDatabaseName을 지정합니다.

대상 서버의 데이터베이스 이름을 바꾸려면 이 필드에 새 이름을 입력합니다.

DestinationDatabaseFiles
대상 서버에서 데이터베이스 파일의 이름과 위치를 지정합니다.

이 필드를 원본 데이터베이스 파일 이름 및 위치로 자동으로 채웁니다. 먼저 SourceConnection, SourceDatabaseNameSourceDatabaseFiles를 지정합니다.

데이터베이스 파일의 이름을 바꾸거나 대상 서버에서 새 위치를 지정하려면 이 필드를 원본 데이터베이스 정보로 채우고 찾아보기 단추를 클릭합니다. 대상 데이터베이스 파일 대화 상자에서 대상 파일, 대상 폴더 또는 네트워크 파일 공유를 편집합니다.

참고 항목

찾아보기 단추를 사용하여 데이터베이스 파일을 찾으면 로컬 드라이브 표기법(예: c:\)을 사용하여 파일 위치가 입력됩니다. 이를 컴퓨터 이름 및 공유 이름을 포함하여 네트워크 공유 표기법으로 바꿔야 합니다. 기본 관리 공유를 사용하는 경우 $ 표기법을 사용하고 공유에 대한 관리 액세스 권한이 있어야 합니다.

DestinationOverwrite
대상 서버에 있는 데이터베이스를 덮어쓸지 여부를 지정합니다.

이 속성의 옵션은 다음 표에 나열되어 있습니다.

설명
True 대상 서버 데이터베이스를 덮어씁니다.
False 대상 서버 데이터베이스를 덮어쓰지 않습니다.

주의

DestinationOverwrite 에 대해 True를 지정하면 대상 서버 데이터베이스의 데이터를 덮어쓰며 이로 인해 데이터가 손실될 수 있습니다. 이를 방지하려면 데이터베이스 이동 작업을 실행하기 전에 대상 서버 데이터베이스를 다른 위치에 백업합니다.

작업
데이터베이스를 대상 서버로 복사하려면 Copy , 이동하려면 Move 를 지정합니다.

방법
원본 서버의 데이터베이스가 온라인 또는 오프라인 모드인 동안 작업을 실행할지 여부를 지정합니다.

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

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

SourceDatabaseName
복사 또는 이동할 데이터베이스의 이름을 선택합니다.

SourceDatabaseFiles
찾아보기 단추를 클릭하여 데이터베이스 파일을 선택합니다.

ReattachSourceDatabase
오류 발생 시 원본 데이터베이스를 다시 연결할지 여부를 지정합니다.

이 속성의 옵션은 다음 표에 나열되어 있습니다.

설명
True 원본 데이터베이스를 다시 연결합니다.
False 원본 데이터베이스를 다시 연결하지 마세요.

원본 데이터베이스 파일

원본 데이터베이스 파일 대화 상자를 사용하여 원본 서버에서 데이터베이스 파일 이름 및 위치를 보거나 데이터베이스 이동 작업에 대한 네트워크 파일 공유 위치를 지정할 수 있습니다.

이 대화 상자를 원본 서버의 데이터베이스 파일 이름 및 위치로 채우려면 먼저 데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지에서 SourceConnectionSourceDatabaseName 을 지정합니다.

옵션

소스 파일
이동될 원본 서버의 데이터베이스 파일 이름입니다. 원본 파일은 읽기 전용입니다.

원본 폴더
이동할 데이터베이스 파일이 있는 원본 서버의 폴더입니다. 원본 폴더는 읽기 전용입니다.

네트워크 파일 공유
데이터베이스 파일을 이동할 원본 서버의 네트워크 공유 폴더입니다. 데이터베이스 이동 작업 편집기 대화 상자의 데이터베이스 페이지에서 DatabaseOffline for Method를 지정하여 오프라인 모드에서 데이터베이스를 이동할 때 네트워크 파일 공유를 사용합니다.

네트워크 파일 공유 위치를 입력하거나 찾아보기 단추(...)를 클릭하여 네트워크 파일 공유 위치를 찾습니다.

오프라인 모드에서 데이터베이스를 이동할 때는 데이터베이스 파일이 대상 폴더 위치에 이동되기 전에 네트워크 파일 공유 위치에 복사됩니다.

대상 데이터베이스 파일

대상 데이터베이스 파일 대화 상자를 사용하여 대상 서버에서 데이터베이스 파일 이름 및 위치를 보거나 변경하거나 데이터베이스 이동 작업에 대한 네트워크 파일 위치를 지정할 수 있습니다.

이 대화 상자를 원본 서버의 데이터베이스 파일 이름 및 위치로 채우려면 먼저 데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지에서 SourceConnection, SourceDatabaseName, SourceDatabaseFiles를 지정합니다.

옵션

대상 파일
대상 서버에서 이동된 데이터베이스 파일의 이름입니다.

파일 이름을 입력하거나 파일 이름을 클릭하여 편집합니다.

대상 폴더
데이터베이스 파일을 이동할 대상 서버의 폴더입니다.

폴더 경로를 입력하거나, 폴더 경로를 클릭하여 편집하거나, 찾아보기를 클릭하여 대상 서버에서 데이터베이스 파일을 이동할 폴더를 찾습니다.

네트워크 파일 공유
데이터베이스 파일을 전송할 대상 서버의 네트워크 공유 폴더입니다. 데이터베이스 이동 작업 편집기 대화 상자의 데이터베이스 페이지에서 DatabaseOffline for Method를 지정하여 오프라인 모드에서 데이터베이스를 이동할 때 네트워크 파일 공유를 사용합니다.

네트워크 파일 공유 위치를 입력하거나 찾아보기를 클릭하여 네트워크 파일 공유 위치를 찾습니다.

오프라인 모드에서 데이터베이스를 전송할 때는 데이터베이스 파일이 대상 폴더 위치에 전송되기 전에 네트워크 파일 공유 위치에 복사됩니다.