SQL Server 대상SQL Server Destination

SQL Server 대상은 로컬 SQL ServerSQL Server 데이터베이스에 연결하고 SQL ServerSQL Server 테이블 및 뷰로 데이터를 대량 로드합니다.The SQL Server destination connects to a local SQL ServerSQL Server database and bulk loads data into SQL ServerSQL Server tables and views. 원격 서버의 SQL ServerSQL Server 데이터베이스에 액세스하는 패키지에서는 SQL Server 대상을 사용할 수 없습니다.You cannot use the SQL Server destination in packages that access a SQL ServerSQL Server database on a remote server. 이러한 패키지에서는 대신 OLE DB 대상을 사용해야 합니다.Instead, the packages should use the OLE DB destination. 자세한 내용은 OLE DB Destination을 참조하세요.For more information, see OLE DB Destination.

PermissionsPermissions

SQL Server 대상이 포함된 패키지를 실행하는 사용자는 "전역 개체 만들기" 권한이 있어야 합니다.Users who execute packages that include the SQL Server destination require the "Create global objects" permission. 관리 도구 메뉴에서 연 로컬 보안 정책 도구를 사용하여 사용자에게 이 사용 권한을 부여할 수 있습니다.You can grant this permission to users by using the Local Security Policy tool opened from the Administrative Tools menu. SQL Server 대상을 사용하는 패키지를 실행할 때 오류 메시지가 표시되면 패키지를 실행 중인 계정에 "전역 개체 만들기" 권한이 있는지 확인합니다.If you receive an error message when executing a package that uses the SQL Server destination, make sure that the account running the package has the "Create global objects" permission.

대량 삽입Bulk Inserts

SQL Server 대상을 사용하여 원격 SQL Server 데이터베이스에 데이터를 대량으로 로드하려고 하면 "OLE DB 레코드를 사용할 수 있습니다.If you attempt to use the SQL Server destination to bulk load data into a remote SQL Server database, you may see an error message similar to the following: "An OLE DB record is available. 원본: "Microsoft SQL ServerSQL Server Native Client" Hresult: 0x80040E14 설명: "SSIS 파일 매핑 개체 'Global\DTSQLIMPORT'을(를) 열 수 없으므로 대량 로드할 수 없습니다.Source: "Microsoft SQL ServerSQL Server Native Client" Hresult: 0x80040E14 Description: "Could not bulk load because SSIS file mapping object 'Global\DTSQLIMPORT ' could not be opened. 운영 체제 오류 코드 2(시스템에서 지정한 파일을 찾을 수 없습니다.)입니다.Operating system error code 2 (The system cannot find the file specified.). Windows 보안을 통해 로컬 서버에 액세스하고 있는지 확인하십시오.""와 유사한 오류 메시지가 나타납니다.Make sure you are accessing a local server via Windows security.""

SQL Server 대상은 대량 삽입 태스크가 제공하는 것과 동일하게 SQL ServerSQL Server 에 대한 고속 데이터 삽입 기능을 제공하지만 SQL Server 대상을 사용하면 데이터가 SQL ServerSQL Server로 로드되기 전에 패키지에서 열 데이터에 변환을 적용할 수 있습니다.The SQL Server destination offers the same high-speed insertion of data into SQL ServerSQL Server that the Bulk Insert task provides; however, by using the SQL Server destination, a package can apply transformations to column data before the data is loaded into SQL ServerSQL Server.

SQL ServerSQL Server로 데이터를 로드하려면 OLE DB 대상 대신 SQL Server 대상을 사용하는 것이 좋습니다.For loading data into SQL ServerSQL Server, you should consider using the SQL Server destination instead of the OLE DB destination.

대량 삽입 옵션Bulk Insert Options

SQL Server 대상이 빠른 로드 데이터 액세스 모드를 사용할 경우 다음과 같은 빠른 로드 옵션을 지정할 수 있습니다.If the SQL Server destination uses a fast-load data access mode, you can specify the following fast load options:

  • 가져온 데이터 파일에서 ID 값을 유지하거나 SQL ServerSQL Server에서 할당된 고유 값을 사용합니다.Retain identity values from the imported data file, or use unique values assigned by SQL ServerSQL Server.

  • 대량 로드 작업 중에 발생한 Null 값을 유지합니다.Retain null values during the bulk load operation.

  • 대량 가져오기 작업 중에 대상 테이블 또는 뷰의 제약 조건을 검사합니다.Verify constraints on the target table or view during the bulk import operation.

  • 대량 로드 작업이 지속되는 동안 테이블 수준 잠금을 획득합니다.Acquire a table-level lock for the duration of the bulk load operation.

  • 대량 로드 작업 중에 대상 테이블에 정의된 삽입 트리거를 실행합니다.Execute insert triggers defined on the destination table during the bulk load operation.

  • 대량 삽입 작업 중에 입력에서 로드할 첫 번째 행의 번호를 지정합니다.Specify the number of the first row in the input to load during the bulk insert operation.

  • 대량 삽입 작업 중에 입력에서 로드할 마지막 행의 번호를 지정합니다.Specify the number of the last row in the input to load during the bulk insert operation.

  • 대량 삽입 작업을 취소하기 전에 허용되는 최대 오류 개수를 지정합니다.Specify the maximum number of errors allowed before the bulk load operation is canceled. 가져올 수 없는 행은 각각 하나의 오류로 카운트됩니다.Each row that cannot be imported is counted as one error.

  • 입력에서 정렬된 데이터가 포함된 열을 지정합니다.Specify the columns in the input that contain sorted data.

    대량 로드 옵션에 대한 자세한 내용은 BULK INSERT(Transact-SQL)를 참조하세요.For more information about bulk load options, see BULK INSERT (Transact-SQL).

성능 향상Performance Improvements

대량 삽입의 성능과 대량 삽입 작업 중의 테이블 액세스를 향상시키려면 기본 옵션을 다음과 같이 변경해야 합니다.To improve the performance of a bulk insert and the access to table data during the bulk insert operation, you should change the default options as follows:

  • 대량 가져오기 작업 중에 대상 테이블 또는 뷰의 제약 조건을 검사하지 마십시오.Do not verify constraints on the target table or view during the bulk import operation.

  • 대량 로드 작업 중에 대상 테이블에서 정의된 삽입 트리거를 실행하지 마십시오.Do not execute insert triggers defined on the destination table during the bulk load operation.

  • 테이블에 잠금을 적용하지 마십시오.Do not apply a lock to the table. 이렇게 하면 대량 삽입 작업 중에 다른 사용자 및 응용 프로그램이 테이블을 사용할 수 있습니다.That way, the table remains available to other users and applications during the bulk insert operation.

SQL Server 대상 구성Configuration of the SQL Server Destination

다음과 같은 방법으로 SQL Server 대상을 구성할 수 있습니다.You can configure the SQL Server destination in the following ways:

  • 데이터를 대량 로드할 테이블 또는 뷰를 지정합니다.Specify the table or view into which to bulk load the data.

  • 제약 조건 검사 여부와 같은 옵션을 지정하여 대량 로드 작업을 사용자 지정합니다.Customize the bulk load operation by specifying options such as whether to check constraints.

  • 한 일괄 처리의 모든 행을 커밋할지 지정하거나 한 일괄 처리로 커밋할 행의 최대 수를 설정합니다.Specify whether all rows commit in one batch or set the maximum number of rows to commit as a batch.

  • 대량 로드 작업에 대한 제한 시간을 지정합니다.Specify a time-out for the bulk load operation.

    이 대상은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하며 연결 관리자가 사용할 OLE DB Provider를 지정합니다.This destination uses an OLE DB connection manager to connect to a data source, and the connection manager specifies the OLE DB provider to use. 자세한 내용은 OLE DB Connection Manager를 참조하세요.For more information, see OLE DB Connection Manager.

    Integration ServicesIntegration Services 프로젝트는 또한 OLE DB 연결 관리자를 만들 수 있는 데이터 원본 개체를 제공합니다.An Integration ServicesIntegration Services project also provides the data source object from which you can create an OLE DB connection manager. 그러면 SQL Server 대상에서 데이터 원본과 데이터 원본 뷰를 사용할 수 있습니다.This makes data sources and data source views available to the SQL Server destination.

    SQL Server 대상은 하나의 입력을 갖습니다.The SQL Server destination has one input. 오류 출력은 지원하지 않습니다.It does not support an error output.

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

    고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다.The Advanced Editor dialog box reflects the properties that can be set programmatically. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

  • 공용 속성Common Properties

  • SQL Server 대상 사용자 지정 속성SQL Server Destination Custom Properties

    속성 설정 방법을 보려면 다음 항목 중 하나를 클릭하세요.For more information about how to set properties, click one of the following topics:

  • SQL Server 대상을 사용하여 데이터 대량 로드Bulk Load Data by Using the SQL Server Destination

  • 데이터 흐름 구성 요소의 속성 설정Set the Properties of a Data Flow Component

SQL 대상 편집기(연결 관리자 페이지)SQL Destination Editor (Connection Manager Page)

SQL 대상 편집기 대화 상자의 연결 관리자 페이지를 사용하여 데이터 원본 정보를 지정하고 결과를 미리 볼 수 있습니다.Use the Connection Manager page of the SQL Destination Editor dialog box to specify data source information, and to preview the results. SQL ServerSQL Server 대상은 MicrosoftMicrosoft SQL ServerSQL Server 데이터베이스의 테이블이나 뷰로 데이터를 로드합니다.The SQL ServerSQL Server destination loads data into tables or views in a MicrosoftMicrosoft SQL ServerSQL Server database.

옵션Options

OLE DB 연결 관리자OLE DB connection manager
목록에서 기존 연결을 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.Select an existing connection from the list, or create a new connection by clicking New.

새로 만들기New
OLE DB 연결 관리자 구성 대화 상자를 사용하여 새 연결을 만듭니다.Create a new connection by using the Configure OLE DB Connection Manager dialog box.

테이블 또는 뷰 사용Use a table or view
목록에서 기존 테이블 또는 뷰를 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.Select an existing table or view from the list, or create a new connection by clicking New.

새로 만들기New
테이블 만들기 대화 상자를 사용하여 새 테이블을 만듭니다.Create a new table by using the Create Table dialog box.

참고

새로 만들기를 클릭하면 Integration ServicesIntegration Services 에서 연결된 데이터 원본에 따라 기본 CREATE TABLE 문을 생성합니다.When you click New, Integration ServicesIntegration Services generates a default CREATE TABLE statement based on the connected data source. 원본 테이블에 선언된 FILESTREAM 특성이 포함된 열이 있어도 기본 CREATE TABLE 문은 FILESTREAM 특성을 포함하지 않습니다.This default CREATE TABLE statement will not include the FILESTREAM attribute even if the source table includes a column with the FILESTREAM attribute declared. FILESTREAM 특성이 포함된 Integration ServicesIntegration Services 구성 요소를 실행하려면 먼저 대상 데이터베이스에서 FILESTREAM 저장소를 구현하십시오.To run an Integration ServicesIntegration Services component with the FILESTREAM attribute, first implement FILESTREAM storage on the destination database. 그런 다음 테이블 만들기 대화 상자에서 FILESTREAM 특성을 CREATE TABLE 문에 추가하십시오.Then, add the FILESTREAM attribute to the CREATE TABLE statement in the Create Table dialog box. 자세한 내용은 Blob(Binary Large Object) 데이터(SQL Server)를 참조하세요.For more information, see Binary Large Object (Blob) Data (SQL Server).

미리 보기Preview
쿼리 결과 미리 보기 대화 상자를 사용하여 결과를 미리 봅니다.Preview results by using the Preview Query Results dialog box. 미리 보기에는 최대 200개의 행이 표시될 수 있습니다.Preview can display up to 200 rows.

SQL 대상 편집기(매핑 페이지)SQL Destination Editor (Mappings Page)

SQL 대상 편집기 대화 상자의 매핑 페이지를 사용하여 입력 열을 대상 열에 매핑할 수 있습니다.Use the Mappings page of the SQL Destination Editor dialog box to map input columns to destination columns.

옵션Options

사용 가능한 입력 열Available Input Columns
사용 가능한 입력 열 목록을 표시합니다.View the list of available input columns. 끌어서 놓기 작업을 사용하여 테이블에서 사용 가능한 입력 열을 대상 열에 매핑합니다.Use a drag-and-drop operation to map available input columns in the table to destination columns.

사용 가능한 대상 열Available Destination Columns
사용 가능한 대상 열의 목록을 표시합니다.View the list of available destination columns. 끌어서 놓기 작업을 사용하여 테이블에서 사용 가능한 대상 열을 입력 열에 매핑합니다.Use a drag-and-drop operation to map available destination columns in the table to input columns.

입력 열Input Column
위 테이블에서 선택한 입력 열을 표시합니다.View input columns selected from the table above. 사용 가능한 입력 열의 목록을 사용하여 매핑을 변경할 수 있습니다.You can change the mappings by using the list of Available Input Columns.

대상 열Destination Column
매핑 여부에 관계없이 사용 가능한 각 대상 열을 표시합니다.View each available destination column, whether it is mapped or not.

SQL 대상 편집기(고급 페이지)SQL Destination Editor (Advanced Page)

SQL 대상 편집기 대화 상자의 고급 페이지를 사용하여 고급 대량 삽입 옵션을 지정할 수 있습니다.Use the Advanced page of the SQL Destination Editor dialog box to specify advanced bulk insert options.

옵션Options

ID 유지Keep identity
태스크에서 ID 열에 값을 삽입할지 여부를 지정합니다.Specify whether the task should insert values into identity columns. 이 속성의 기본값은 False입니다.The default value of this property is False.

Null 유지Keep nulls
태스크에서 Null 값을 유지할지 여부를 지정합니다.Specify whether the task should keep null values. 이 속성의 기본값은 False입니다.The default value of this property is False.

테이블 잠금Table lock
데이터를 로드할 때 테이블을 잠글지 여부를 지정합니다.Specify whether the table is locked when the data is loaded. 이 속성의 기본값은 True입니다.The default value of this property is True.

CHECK 제약 조건Check constraints
태스크에서 제약 조건을 확인할지 여부를 지정합니다.Specify whether the task should check constraints. 이 속성의 기본값은 True입니다.The default value of this property is True.

트리거 실행Fire triggers
대량 삽입에서 테이블에 대해 트리거를 실행할지 여부를 지정합니다.Specify whether the bulk insert should fire triggers on tables. 이 속성의 기본값은 False입니다.The default value of this property is False.

첫 번째 행First Row
삽입할 첫 번째 행을 지정합니다.Specify the first row to insert. 이 속성의 기본값은 -1이며 이 경우 값이 할당되지 않습니다.The default value of this property is -1, indicating that no value has been assigned.

참고

이 속성에 값을 할당하지 않으려면 SQL 대상 편집기 에서 해당 입력란의 내용을 지웁니다.Clear the text box in the SQL Destination Editor to indicate that you do not want to assign a value for this property. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.Use -1 in the Properties window, the Advanced Editor, and the object model.

마지막 행Last Row
삽입할 마지막 행을 지정합니다.Specify the last row to insert. 이 속성의 기본값은 -1이며 이 경우 값이 할당되지 않습니다.The default value of this property is -1, indicating that no value has been assigned.

참고

이 속성에 값을 할당하지 않으려면 SQL 대상 편집기 에서 해당 입력란의 내용을 지웁니다.Clear the text box in the SQL Destination Editor to indicate that you do not want to assign a value for this property. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.Use -1 in the Properties window, the Advanced Editor, and the object model.

최대 오류 개수Maximum number of errors
대량 삽입이 중지되기 전에 발생할 수 있는 오류 수를 지정합니다.Specify the number of errors that can occur before the bulk insert stops. 이 속성의 기본값은 -1이며 이 경우 값이 할당되지 않습니다.The default value of this property is –1, indicating that no value has been assigned.

참고

이 속성에 값을 할당하지 않으려면 SQL 대상 편집기 에서 해당 입력란의 내용을 지웁니다.Clear the text box in the SQL Destination Editor to indicate that you do not want to assign a value for this property. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.Use -1 in the Properties window, the Advanced Editor, and the object model.

TimeoutTimeout
시간이 초과되어 대량 삽입이 중지되기까지 기다리는 시간(초)을 지정합니다.Specify the number of seconds to wait before the bulk insert stops because of a time-out.

열 순서 지정Order columns
정렬 열의 이름을 입력합니다.Type the names of the sort columns. 각 열을 오름차순이나 내림차순으로 정렬할 수 있습니다.Each column can be sorted in ascending or descending order. 여러 정렬 열을 사용하는 경우 쉼표로 목록을 구분합니다.If you use multiple sort columns, delimit the list with commas.

관련 항목:See Also

데이터 흐름Data Flow