데이터베이스 전송 태스크Transfer Database Task

데이터베이스 전송 태스크는 두 SQL ServerSQL Server 인스턴스 간에 SQL ServerSQL Server데이터베이스를 전송합니다.The Transfer Database task transfers a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. SQL ServerSQL Server 개체를 복사하여 전송하는 다른 태스크와 달리 데이터베이스 전송 태스크는 데이터베이스를 복사 또는 이동할 수 있습니다.In contrast to the other tasks that only transfer SQL ServerSQL Server objects by copying them, the Transfer Database task can either copy or move a database. 동일한 서버 내에서 데이터베이스를 복사하는 데도 전송 태스크를 사용할 수 있습니다.This task can also be used to copy a database within the same server.

오프라인 및 온라인 모드Offline and Online Modes

온라인 또는 오프라인 모드에서 데이터베이스를 전송할 수 있습니다.The database can be transferred by using online or offline mode. 온라인 모드를 사용하는 경우 데이터베이스는 연결된 상태를 유지하며 데이터베이스 개체를 복사하는 SMO(SQL Management Object)를 통해 전송됩니다.When you use online mode, the database remains attached and it is transferred by using SQL Management Object (SMO) to copy the database objects. 오프라인 모드를 사용하는 경우 데이터베이스가 분리된 상태로 데이터베이스 파일을 복사 또는 이동하며 성공적으로 전송을 완료한 다음 대상에 데이터베이스를 연결합니다.When you use offline mode, the database is detached, the database files are copied or moved, and the database is attached at the destination after the transfer finishes successfully. 데이터베이스를 복사하면 복사가 완료될 때 자동으로 원본에 다시 연결됩니다.If the database is copied, it is automatically reattached at the source if the copy is successful. 오프라인 모드에서는 좀 더 빠르게 데이터베이스를 복사할 수 있지만 전송하는 동안 데이터베이스를 사용할 수 없습니다.In offline mode, the database is copied more quickly, but the database is unavailable to users during the transfer.

오프라인 모드를 사용하려면 데이터베이스 파일을 가진 대상 서버 및 원본 서버에 네트워크 파일 공유를 지정해야 합니다.Offline mode requires that you specify the network file shares on the source and destination servers that contain the database files. 폴더를 공유하여 사용자가 액세스할 수 있는 경우 \\computername\Program Files\myfolder\구문을 사용하여 네트워크 공유를 참조할 수 있습니다.If the folder is shared and can be accessed by the user, you can reference the network share using the syntax \\computername\Program Files\myfolder\. 그렇지 않으면 \\computername\c$\Program Files\myfolder\구문을 사용해야 합니다.Otherwise, you must use the syntax \\computername\c$\Program Files\myfolder\. 두 번째 구문을 사용하려면 원본 및 대상 네트워크 공유에 대한 쓰기 액세스가 필요합니다.To use the latter syntax, the user must have write access to the source and destination network shares.

SQL Server 버전 간 데이터베이스 전송Transfer of Databases Between Versions of SQL Server

데이터베이스 전송 태스크는 여러 SQL ServerSQL Server 버전의 인스턴스 간에 데이터베이스를 전송할 수 있습니다.The Transfer Database task can transfer a database between instances of different SQL ServerSQL Server versions.

이벤트Events

데이터베이스 전송 태스크는 오류 메시지 전송의 진행 상황은 보고하지 않으며 0% 및 100% 완료만 보고합니다.The Transfer Database task does not report incremental progress of the error message transfer; it reports only 0% and 100 % completion.

실행 값Execution Value

다른 전송 태스크와 달리 데이터베이스 전송 태스크는 한 개의 데이터베이스만 전송할 수 있으므로 태스크의 ExecutionValue 속성에 정의된 실행 값은 1을 반환합니다.The execution value, defined in the ExecutionValue property of the task, returns the value 1, because in contrast to other transfer tasks, the Transfer Database task can transfer only one database.

데이터베이스 전송 태스크의 ExecValueVariable 속성에 사용자 정의 변수를 할당하면 패키지 내의 다른 개체에서 오류 메시지 전송에 대한 정보를 사용할 수 있습니다.By assigning a user-defined variable to the ExecValueVariable property of the Transfer Database task, information about the error message transfer can be made available to other objects in the package. 자세한 내용은 Integration Services(SSIS) 변수패키지에서 변수 사용을 참조하세요.For more information, see Integration Services (SSIS) Variables and Use Variables in Packages.

로그 항목Log Entries

데이터베이스 전송 태스크는 다음 사용자 지정 로그 항목을 포함합니다.The Transfer Database task includes the following custom log entries:

  • SourceSQLServer 이 로그 항목은 원본 서버의 이름을 나열합니다.SourceSQLServer This log entry lists the name of the source server.

  • DestSQLServer 이 로그 항목은 대상 서버의 이름을 나열합니다.DestSQLServer This log entry lists the name of the destination server.

  • SourceDB 이 로그 항목은 전송된 데이터베이스의 이름을 나열합니다.SourceDB This log entry lists the name of the database that is transferred.

    또한 대상 데이터베이스를 덮어쓰는 경우 OnInformation 이벤트에 대한 로그 항목이 기록됩니다.In addition, a log entry for the OnInformation event is written when the destination database is overwritten.

보안 및 사용 권한Security and Permissions

오프라인 모드를 사용해 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 서버 역할의 멤버여야 합니다.To transfer a database using offline mode, the user who runs the package must be a member of the sysadmin server role.

온라인 모드를 사용해 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 서버 역할의 멤버이거나 선택한 데이터베이스의 데이터베이스 소유자(dbo)여야 합니다.To transfer a database using online mode, the user who runs the package must be a member of the sysadmin server role or the database owner (dbo) of the selected database.

데이터베이스 전송 태스크 구성Configuration of the Transfer Database Task

데이터베이스 전송이 실패하는 경우 태스크가 원본 데이터베이스에 다시 연결할지 여부를 지정할 수 있습니다.You can specify whether the task tries to reattach the source database if the database transfer fails.

동일한 이름의 대상 데이터베이스를 덮어쓰고 대상 데이터베이스를 대체할 수 있도록 데이터베이스 전송 태스크를 구성할 수 있습니다.The Transfer Database task can also be configured to permit overwriting a destination database that has the same name, replacing the destination database.

전송 과정의 일부로 원본 데이터베이스의 이름을 바꿀 수 있습니다.The source database can also be renamed as part of the transfer process. 대상 SQL ServerSQL Server 인스턴스에 이미 같은 이름의 데이터베이스가 있는 경우 원본 데이터베이스의 이름을 변경하여 데이터베이스를 전송할 수 있습니다.If you want to transfer a database to a destination instance of SQL ServerSQL Server that already contains a database that has the same name, renaming the source database allows the database to be transferred. 그러나 같은 이름의 데이터베이스 파일이 대상에 있는 경우에는 태스크가 실패하므로 데이터베이스 파일의 이름은 반드시 달라야 합니다.However, the database file names must also be different; if database files that have the same names already exist at the destination, the task fails.

데이터베이스를 복사할 경우 데이터베이스는 대상 서버에 있는 model 데이터베이스의 크기보다 작을 수 없습니다.When you copy a database, the database cannot be smaller than the size of the model database on the destination server. 복사할 데이터베이스의 크기를 늘리거나 model의 크기를 줄일 수 있습니다.You can either increase the size of the database to copy, or reduce the size of model.

데이터베이스 전송 태스크는 런타임에 한 개 또는 두 개의 SMO 연결 관리자를 사용해 원본 서버 및 대상 서버에 연결합니다.At run time, the Transfer Database task connects to the source and destination servers by using one or two SMO connection managers. 동일한 서버에 데이터베이스 복사본을 만드는 경우 하나의 SMO 연결 관리자만 필요합니다.When you create a copy of a database on the same server, only one SMO connection manager is required. SMO 연결 관리자는 데이터베이스 전송 태스크와 별도로 구성된 후 데이터베이스 전송 태스크에서 참조됩니다.The SMO connection managers are configured separately from the Transfer Database task, and then are referenced in the Transfer Database task. SMO 연결 관리자는 태스크가 서버에 액세스할 때 사용할 서버 및 인증 모드를 지정합니다.The SMO connection managers specify the server and the authentication mode to use when the task accesses the server. 자세한 내용은 SMO Connection Manager을 참조하세요.For more information, see SMO Connection Manager.

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically.

SSISSSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목을 클릭하십시오.For more information about the properties that you can set in SSISSSIS Designer, click the following topic:

데이터베이스 전송 태스크의 프로그래밍 방식 구성Programmatic Configuration of the Transfer Database Task

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.For more information about programmatically setting these properties, click the following topic:

데이터베이스 전송 태스크 편집기(일반 페이지)Transfer Database Task Editor (General Page)

데이터베이스 전송 태스크 편집기 대화 상자의 일반 페이지를 사용하여 데이터베이스 전송 태스크를 명명 및 설명할 수 있습니다.Use the General page of the Transfer Database Task Editor dialog box to name and describe the Transfer Database task. 데이터베이스 전송 태스크에서는 SQL ServerSQL Server 데이터베이스를 SQL ServerSQL Server의 두 인스턴스 간에 복사 또는 이동합니다.The Transfer Database task copies or moves a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. 동일한 서버 내에서 데이터베이스를 복사하는 데도 전송 태스크를 사용할 수 있습니다.This task can also be used to copy a database within the same server.

옵션Options

이름Name
데이터베이스 전송 태스크에 사용할 고유 이름을 입력합니다.Type a unique name for the Transfer Database task. 이 이름은 태스크 아이콘에서 레이블로 사용됩니다.This name is used as the label in the task icon.

참고

태스크 이름은 패키지 내에서 고유해야 합니다.Task names must be unique within a package.

DescriptionDescription
데이터베이스 전송 태스크에 대한 설명을 입력합니다.Type a description of the Transfer Database task.

데이터베이스 전송 태스크 편집기(데이터베이스 페이지)Transfer Database Task Editor (Databases Page)

데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지를 사용하여 데이터베이스 전송 태스크와 관련된 원본 및 대상 데이터베이스의 속성을 지정할 수 있습니다.Use the Databases page of the Transfer Database Task Editor dialog box to specify properties for the source and destination databases involved in the Transfer Database task. 데이터베이스 전송 태스크에서는 SQL ServerSQL Server 데이터베이스를 SQL ServerSQL Server의 두 인스턴스 간에 복사 또는 이동합니다.The Transfer Database task copies or moves a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. 동일한 서버 내에서 데이터베이스를 복사하는 데도 전송 태스크를 사용할 수 있습니다.This task can also be used to copy a database within the same server.

옵션Options

SourceConnectionSourceConnection
목록에서 SMO 연결 관리자를 선택 하거나 클릭 <새 연결... > 원본 서버에 새 연결을 만듭니다.Select a SMO connection manager in the list, or click <New connection...> to create a new connection to the source server.

DestinationConnectionDestinationConnection
목록에서 SMO 연결 관리자를 선택 하거나 클릭 <새 연결... > 대상 서버에 새 연결을 만듭니다.Select a SMO connection manager in the list, or click <New connection...> to create a new connection to the destination server.

DestinationDatabaseNameDestinationDatabaseName
대상 서버에 있는 SQL ServerSQL Server 데이터베이스의 이름을 지정합니다.Specify the name of the SQL ServerSQL Server database on the destination server.

이 필드를 원본 데이터베이스 이름으로 자동으로 채우려면 먼저 SourceConnectionSourceDatabaseName 을 지정합니다.To automatically populate this field with the source database name, specify the SourceConnection and SourceDatabaseName first.

대상 서버에 있는 데이터베이스의 이름을 바꾸려면 이 필드에 새 이름을 입력합니다.To rename the database on the destination server, type the new name in this field.

DestinationDatabaseFilesDestinationDatabaseFiles
대상 서버에 있는 데이터베이스 파일의 이름 및 위치를 지정합니다.Specifies the names and locations of the database files on the destination server.

이 필드를 원본 데이터베이스 파일 이름 및 위치로 자동으로 채우려면 먼저 SourceConnection, SourceDatabaseNameSourceDatabaseFiles 를 지정합니다.To automatically populate this field with the source database file names and locations, specify the SourceConnection, SourceDatabaseName, and SourceDatabaseFiles first.

데이터베이스 파일의 이름을 바꾸거나 대상 서버에 새 위치를 지정하려면 이 필드를 원본 데이터베이스 정보로 채운 다음 찾아보기 단추를 클릭합니다.To rename the database files or to specify the new locations on the destination server, populate this field with the source database information, and then click the browse button. 대상 데이터베이스 파일 대화 상자에서 대상 파일, 대상 폴더또는 네트워크 파일 공유를 편집합니다.In the Destination database files dialog box, edit the Destination File, Destination Folder, or Network File Share.

참고

찾아보기 단추를 사용하여 데이터베이스 파일을 찾으면 해당 파일 위치가 로컬 드라이브 표기법을 사용하여 입력됩니다(예: c:\).If you locate the database files by using the browse button, the file location is entered using the local drive notation: for example, c:\. 이는 컴퓨터 이름 및 공유 이름과 함께 네트워크 공유 표기법으로 바꾸어야 합니다.You must replace this with the network share notation, including the computer name and share name. 기본 관리 공유를 사용하는 경우 $ 표기법을 사용하고 공유에 대한 관리 액세스가 있어야 합니다.If the default administrative share is used, you must use the $ notation, and have administrative access to the share.

DestinationOverwriteDestinationOverwrite
대상 서버에 있는 데이터베이스를 덮어쓸지 여부를 지정합니다.Specify whether the database on the destination server can be overwritten.

이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
TrueTrue 대상 서버 데이터베이스를 덮어씁니다.Overwrite destination server database.
FalseFalse 대상 서버 데이터베이스를 덮어쓰지 않습니다.Do not overwrite destination server database.

주의

DestinationOverwrite 에 대해 True를 지정하면 대상 서버 데이터베이스의 데이터를 덮어쓰며 이로 인해 데이터가 손실될 수 있습니다.The data in the destination server database will be overwritten if you specify True for DestinationOverwrite, which may result in data loss. 이를 방지하려면 데이터베이스 전송 태스크를 실행하기 전에 대상 서버 데이터베이스를 다른 위치에 백업합니다.To avoid this, back up the destination server database to another location before executing the Transfer Database task.

동작Action
데이터베이스를 대상 서버로 복사하려면 Copy , 이동하려면 Move 를 지정합니다.Specify whether the task will Copy or Move the database to the destination server.

메서드Method
원본 서버의 데이터베이스가 온라인 모드에 있을 때 태스크를 실행할지, 아니면 오프라인 모드에 있을 때 실행할지를 지정합니다.Specify whether the task will be executed while the database on the source server is in online or offline mode.

오프라인 모드를 사용하여 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 고정 서버 역할의 멤버여야 합니다.To transfer a database using offline mode, the user that runs the package must be a member of the sysadmin fixed server role.

온라인 모드를 사용하여 데이터베이스를 전송하려면 패키지를 실행하는 사용자가 sysadmin 고정 서버 역할의 멤버이거나 선택한 데이터베이스의 데이터베이스 소유자(dbo)여야 합니다.To transfer a database using the online mode, the user that runs the package must be a member of the sysadmin fixed server role, or the database owner (dbo) of the selected database.

SourceDatabaseNameSourceDatabaseName
복사 또는 이동할 데이터베이스의 이름을 선택합니다.Select the name of the database to be copied or moved.

SourceDatabaseFilesSourceDatabaseFiles
데이터베이스 파일을 선택하려면 찾아보기 단추를 클릭합니다.Click the browse button to select the database files.

ReattachSourceDatabaseReattachSourceDatabase
오류 발생 시 원본 데이터베이스를 다시 연결할지 여부를 지정합니다.Specify whether the task will attempt to reattach the source database if a failure occurs.

이 속성의 옵션은 다음 표에 나열되어 있습니다.This property has the options listed in the following table:

ValueValue DescriptionDescription
TrueTrue 원본 데이터베이스를 다시 연결합니다.Reattach source database.
FalseFalse 원본 데이터베이스를 다시 연결하지 않습니다.Do not reattach source database.

원본 데이터베이스 파일Source database files

원본 데이터베이스 파일 대화 상자를 사용하여 원본 서버의 데이터베이스 파일 이름 및 위치를 보거나 데이터베이스 전송 태스크에 대한 네트워크 파일 공유 위치를 지정할 수 있습니다.Use the Source Database Files dialog box to view the database file names and locations on the source server, or to specify a network file share location for the Transfer Database task.

이 대화 상자를 원본 서버의 데이터베이스 파일 이름 및 위치로 채우려면 먼저 데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지에서 SourceConnectionSourceDatabaseName 을 지정합니다.To populate this dialog box with the database file names and locations on the source server, specify the SourceConnection and SourceDatabaseName first in the Databases page of the Transfer Database Task Editor dialog box.

옵션Options

원본 파일Source File
전송할 원본 서버의 데이터베이스 파일 이름입니다.Database file names on the source server that will be transferred. 원본 파일 은 읽기 전용입니다.Source File is read only.

원본 폴더Source Folder
전송할 데이터베이스 파일이 있는 원본 서버의 폴더입니다.Folder on the source server where the database files to be transferred reside. 원본 폴더 는 읽기 전용입니다.Source Folder is read only.

네트워크 파일 공유Network File Share
데이터베이스 파일을 전송할 원본 서버의 네트워크 공유 폴더입니다.Network shared folder on the source server from where the database files will be transferred. 오프라인 모드에서 데이터베이스를 전송할 때는 데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지에서 Method 에 대해 DatabaseOffline 을 지정하여 네트워크 파일 공유 를 사용합니다.Use Network File Share when you transfer a database in offline mode by specifying DatabaseOffline for Method in the Databases page of the Transfer Database Task Editor dialog box.

네트워크 파일 공유 위치를 입력하거나 찾아보기 단추 (...) 를 클릭하여 네트워크 파일 공유 위치를 찾습니다.Enter the network file share location, or click the browse button (…) to locate the network file share location.

오프라인 모드에서 데이터베이스를 전송할 때는 데이터베이스 파일이 대상 서버에 전송되기 전에 원본 서버의 네트워크 파일 공유 위치에 복사됩니다.When you transfer a database in offline mode, the database files are copied to the Network file share location on the source server before they are transferred to the destination server.

대상 데이터베이스 파일Destination Database Files

대상 데이터베이스 파일 대화 상자를 사용하여 대상 서버의 데이터베이스 파일 이름 및 위치를 확인 또는 변경하거나 데이터베이스 전송 태스크에 대한 네트워크 파일 위치를 지정할 수 있습니다.Use the Destination Database Files dialog box to view or change the database file names and locations on the destination server, or to specify a network file location for the Transfer Database task.

이 대화 상자를 원본 서버의 데이터베이스 파일 이름 및 위치로 자동으로 채우려면 먼저 데이터베이스 전송 태스크 편집기대화 상자의 데이터베이스페이지에서 SourceConnection , SourceDatabaseNameSourceDatabaseFiles 를 지정합니다.To automatically populate this dialog box with the database file names and locations on the source server, specify the SourceConnection, SourceDatabaseName, and SourceDatabaseFiles first in the Databases page of the Transfer Database Task Editor dialog box.

옵션Options

대상 파일Destination File
전송된 대상 서버의 데이터베이스 파일 이름입니다.Names of the transferred database files on the destination server.

파일 이름을 입력하거나 파일 이름을 클릭하여 편집합니다.Enter the file name, or click the file name to edit it.

대상 폴더Destination Folder
데이터베이스 파일을 전송할 대상 서버의 폴더입니다.Folder on the destination server where the database files will be transferred to.

폴더 경로를 입력하거나, 폴더 경로를 클릭하여 편집하거나, 찾아보기를 클릭하여 대상 서버의 데이터베이스 파일을 전송할 폴더를 찾습니다.Enter the folder path, click the folder path to edit it, or click browse to locate the folder where you want to transfer the database files on the destination server.

네트워크 파일 공유Network File Share
데이터베이스 파일을 전송할 대상 서버의 네트워크 공유 폴더입니다.Network shared folder on the destination server where the database files will be transferred to. 오프라인 모드에서 데이터베이스를 전송할 때는 데이터베이스 전송 태스크 편집기 대화 상자의 데이터베이스 페이지에서 Method 에 대해 DatabaseOffline 을 지정하여 네트워크 파일 공유 를 사용합니다.Use Network file share when you transfer a database in offline mode by specifying DatabaseOffline for Method in the Databases page of the Transfer Database Task Editor dialog box.

네트워크 파일 공유 위치를 입력하거나 찾아보기를 클릭하여 네트워크 파일 공유 위치를 찾습니다.Enter the network file share location, or click browse to locate the network file share location.

오프라인 모드에서 데이터베이스를 전송할 때는 데이터베이스 파일이 대상 폴더 위치에 전송되기 전에 네트워크 파일 공유 위치에 복사됩니다.When you transfer a database in offline mode, the database files are copied to the Network file share location before they are transferred to the Destination folder location.