다음을 통해 공유


SQL Server 대상

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

SQL Server 대상은 로컬 SQL Server 데이터베이스에 연결하고 데이터를 SQL Server 테이블 및 뷰로 대량 로드합니다. 원격 서버의 SQL Server 데이터베이스에 액세스하는 패키지에서는 SQL Server 대상을 사용할 수 없습니다. 이러한 패키지에서는 대신 OLE DB 대상을 사용해야 합니다. 자세한 내용은 OLE DB 대상을 참조하세요.

사용 권한

SQL Server 대상을 포함하는 패키지를 실행하는 사용자에게는 "전역 개체 만들기" 권한이 필요합니다. 관리 도구 메뉴에서 연 로컬 보안 정책 도구를 사용하여 사용자에게 이 권한을 부여할 수 있습니다. SQL Server 대상을 사용하는 패키지를 실행할 때 오류 메시지가 표시되는 경우 패키지를 실행하는 계정에 "전역 개체 만들기" 권한이 있는지 확인합니다.

대량 삽입

SQL Server 대상을 사용하여 원격 SQL Server 데이터베이스에 데이터를 대량 로드하려고 하면 다음과 유사한 오류 메시지가 표시 될 수 있습니다. "OLE DB 레코드를 사용할 수 있습니다. 원본: "Microsoft SQL Server Native Client" Hresult: 0x80040E14 Description: "SSIS 파일 매핑 개체 'Global\DTSQLIMPORT'를 열 수 없기 때문에 대량 로드할 수 없습니다. 운영 체제 오류 코드 2(시스템에서 지정된 파일을 찾을 수 없음). Windows 보안을 통해 로컬 서버에 액세스하고 있는지 확인합니다."

SQL Server 대상은 대량 삽입 태스크에서 제공하는 것과 동일한 고속 데이터 삽입을 SQL Server에 제공합니다. 그러나 SQL Server 대상을 사용하면 데이터가 SQL Server에 로드되기 전에 패키지가 열 데이터에 변환을 적용할 수 있습니다.

SQL Server에 데이터를 로드하려면 OLE DB 대상 대신 SQL Server 대상을 사용하는 것이 좋습니다.

대량 삽입 옵션

SQL Server 대상이 빠른 로드 데이터 액세스 모드를 사용할 경우 다음과 같은 빠른 로드 옵션을 지정할 수 있습니다.

  • 가져온 데이터 파일에서 ID 값을 유지하거나 SQL Server에서 할당한 고유 값을 사용합니다.

  • 대량 로드 작업 중에 null 값을 유지합니다.

  • 대량 가져오기 작업 중에 대상 테이블 또는 뷰의 제약 조건을 검사합니다.

  • 대량 로드 작업 기간 동안 테이블 수준 잠금을 획득합니다.

  • 대량 로드 작업 중에 대상 테이블에 정의된 삽입 트리거를 실행합니다.

  • 대량 삽입 작업 중에 로드할 입력의 첫 번째 행 수를 지정합니다.

  • 대량 삽입 작업 중에 입력에서 로드할 마지막 행의 번호를 지정합니다.

  • 대량 로드 작업이 취소되기 전에 허용되는 최대 오류 수를 지정합니다. 가져올 수 없는 각 행은 하나의 오류로 계산됩니다.

  • 입력에서 정렬된 데이터가 포함된 열을 지정합니다.

대량 로드 옵션에 대한 자세한 내용은 BULK INSERT(Transact-SQL)를 참조하세요.

성능 개선

대량 삽입 작업 중에 대량 삽입의 성능과 테이블 데이터에 대한 액세스를 향상시키려면 다음과 같이 기본 옵션을 변경해야 합니다.

  • 대량 가져오기 작업 중에 대상 테이블 또는 뷰에 대한 제약 조건을 확인하지 마세요.

  • 대량 로드 작업 중에 대상 테이블에 정의된 삽입 트리거를 실행하지 마세요.

  • 테이블에 잠금을 적용하지 마십시오. 이렇게 하면 대량 삽입 작업 중에 다른 사용자 및 애플리케이션에서 테이블을 계속 사용할 수 있습니다.

SQL Server 대상 구성

다음과 같은 방법으로 SQL Server 대상을 구성할 수 있습니다.

  • 데이터를 대량 로드할 테이블 또는 뷰를 지정합니다.

  • 제약 조건을 검사할지 여부와 같은 옵션을 지정하여 대량 로드 작업을 사용자 지정합니다.

  • 모든 행을 하나의 일괄 처리로 커밋할지 아니면 일괄 처리로 커밋할 최대 행 수를 설정할지 지정합니다.

  • 대량 로드 작업에 대한 제한 시간을 지정합니다.

이 대상은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하고 연결 관리자는 사용할 OLE DB 공급자를 지정합니다. 자세한 내용은 OLE DB 연결 관리자 참조하세요.

Integration Services 프로젝트는 OLE DB 연결 관리자를 만들 수 있는 데이터 원본 개체도 제공합니다. 이렇게 하면 SQL Server 대상에서 데이터 원본 및 데이터 원본 뷰를 사용할 수 있습니다.

SQL Server 대상은 하나의 입력을 갖습니다. 오류 출력은 지원하지 않습니다.

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

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.

속성을 설정하는 방법에 대한 자세한 내용은 다음 항목 중 하나를 클릭합니다.

SQL 대상 편집기(연결 관리자 페이지)

SQL 대상 편집기 대화 상자의 연결 관리자 페이지를 사용하여 데이터 원본 정보를 지정하고 결과를 미리 볼 수 있습니다. SQL Server 대상은 Microsoft SQL Server 데이터베이스의 테이블 또는 뷰에 데이터를 로드합니다.

옵션

OLE DB 연결 관리자
목록에서 기존 연결을 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.

New
OLE DB 연결 관리자 구성 대화 상자를 사용하여 새 연결을 만듭니다.

테이블 또는 뷰 사용
목록에서 기존 테이블 또는 뷰를 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.

New
테이블 만들기 대화 상자를 사용하여 새 테이블을 만듭니다.

참고 항목

새로 만들기를 클릭하면 Integration Services는 연결된 데이터 원본을 기반으로 기본 CREATE TABLE 문을 생성합니다. 원본 테이블에 FILESTREAM 특성이 선언된 열이 포함되어 있더라도 이 기본 CREATE TABLE 문에는 FILESTREAM 특성이 포함되지 않습니다. FILESTREAM 특성을 사용하여 Integration Services 구성 요소를 실행하려면 먼저 대상 데이터베이스에 FILESTREAM 스토리지를 구현합니다. 그런 다음 테이블 만들기 대화 상자에서 FILESTREAM 특성을 CREATE TABLE 문에 추가하십시오. 자세한 내용은 Blob(Binary Large Object) 데이터(SQL Server)를 참조하세요.

미리 보기
쿼리 결과 미리 보기 대화 상자를 사용하여 결과를 미리 봅니다. 미리 보기에는 최대 200개의 행이 표시될 수 있습니다.

SQL 대상 편집기(매핑 페이지)

SQL 대상 편집기 대화 상자의 매핑 페이지를 사용하여 입력 열을 대상 열에 매핑합니다.

옵션

사용 가능한 입력 열
사용 가능한 입력 열 목록을 표시합니다. 끌어서 놓기 작업을 사용하여 테이블의 사용 가능한 입력 열을 대상 열에 매핑합니다.

사용 가능한 대상 열
사용 가능한 대상 열 목록을 봅니다. 끌어서 놓기 작업을 사용하여 테이블의 사용 가능한 대상 열을 입력 열에 매핑합니다.

입력 열
위 테이블에서 선택한 입력 열을 표시합니다. 사용 가능한 입력 열 목록을 사용하여 매핑을 변경할 수 있습니다.

대상 열
매핑 여부에 관계없이 사용 가능한 각 대상 열을 표시합니다.

SQL 대상 편집기(고급 페이지)

SQL 대상 편집기 대화 상자의 고급 페이지를 사용하여 고급 대량 삽입 옵션을 지정할 수 있습니다.

옵션

ID 유지
태스크에서 ID 열에 값을 삽입할지 여부를 지정합니다. 이 속성의 기본값은 False입니다.

Null 유지
태스크에서 null 값을 유지할지 여부를 지정합니다. 이 속성의 기본값은 False입니다.

테이블 잠금
데이터를 로드할 때 테이블을 잠글지 여부를 지정합니다. 이 속성의 기본값은 True입니다.

CHECK 제약 조건
태스크에서 제약 조건을 검사할지 여부를 지정합니다. 이 속성의 기본값은 True입니다.

트리거 실행
대량 삽입에서 테이블에 대해 트리거를 실행할지 여부를 지정합니다. 이 속성의 기본값은 False입니다.

첫 번째 행
삽입할 첫 번째 행을 지정합니다. 이 속성의 기본값은 -1, 값이 할당되지 않았음을 나타냅니다.

참고 항목

SQL 대상 편집기에서 텍스트 상자를 선택 취소하여 이 속성에 대한 값을 할당하지 않음을 나타냅니다. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.

마지막 행
삽입할 마지막 행을 지정합니다. 이 속성의 기본값은 -1, 값이 할당되지 않았음을 나타냅니다.

참고 항목

SQL 대상 편집기에서 텍스트 상자를 선택 취소하여 이 속성에 대한 값을 할당하지 않음을 나타냅니다. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.

최대 오류 수
대량 삽입이 중지되기 전에 발생할 수 있는 오류 수를 지정합니다. 이 속성의 기본값은 -1, 값이 할당되지 않았음을 나타냅니다.

참고 항목

SQL 대상 편집기에서 텍스트 상자를 선택 취소하여 이 속성에 대한 값을 할당하지 않음을 나타냅니다. 속성 창, 고급 편집기및 개체 모델에 -1을 사용합니다.

시간 제한
시간이 초과되어 대량 삽입이 중지되기까지 기다리는 시간(초)을 지정합니다.

열 순서 지정
정렬 열의 이름을 입력합니다. 각 열은 오름차순 또는 내림차순으로 정렬할 수 있습니다. 여러 정렬 열을 사용하는 경우 목록을 쉼표로 구분합니다.

참고 항목

데이터 흐름