다음을 통해 공유


스크립트 작업

스크립트 태스크는 SQL Server Integration Services에서 제공하는 기본 제공 작업 및 변환에서 사용할 수 없는 함수를 수행하는 코드를 제공합니다. 스크립트 태스크는 여러 작업 및 변환을 사용하는 대신 함수를 하나의 스크립트로 결합할 수도 있습니다. 데이터 행당 한 번이 아니라 패키지에서 한 번(또는 열거된 개체당 한 번) 수행해야 하는 작업에 스크립트 태스크를 사용합니다.

스크립트 태스크는 다음 용도로 사용할 수 있습니다.

  • 기본 제공 연결 형식에서 지원되지 않는 다른 기술을 사용하여 데이터에 액세스합니다. 예를 들어 스크립트는 ADSI(Active Directory 서비스 인터페이스)를 사용하여 Active Directory에서 사용자 이름에 액세스하고 추출할 수 있습니다.

  • 패키지별 성능 카운터를 만듭니다. 예를 들어 스크립트는 복잡하거나 제대로 수행되지 않는 작업이 실행되는 동안 업데이트되는 성능 카운터를 만들 수 있습니다.

  • 지정된 파일이 비어 있는지 또는 포함된 행 수를 확인한 다음 해당 정보를 기반으로 패키지의 제어 흐름에 영향을 줍니다. 예를 들어 파일에 행이 0개, 변수 값이 0으로 설정되고 값을 평가하는 선행 제약 조건이 있으면 파일 시스템 태스크에서 파일을 복사할 수 없습니다.

스크립트를 사용하여 집합의 각 데이터 행에 대해 동일한 작업을 수행해야 하는 경우 스크립트 태스크 대신 스크립트 구성 요소를 사용해야 합니다. 예를 들어 우편물 금액의 합리성을 평가하고 금액이 매우 높거나 낮은 데이터 행을 건너뛰려면 스크립트 구성 요소를 사용합니다. 자세한 내용은 스크립트 구성 요소를 참조하세요.

둘 이상의 패키지에서 스크립트를 사용하는 경우 스크립트 태스크를 사용하는 대신 사용자 지정 작업을 작성하는 것이 좋습니다. 자세한 내용은 사용자 지정 작업 개발을 참조하세요.

스크립트 태스크가 패키지에 적합한 선택이라고 결정한 후에는 태스크에서 사용하는 스크립트를 개발하고 작업 자체를 구성해야 합니다.

태스크에서 사용하는 스크립트 작성 및 실행

스크립트 태스크는 스크립트 및 해당 스크립트를 실행하는 엔진을 작성하는 환경으로 Microsoft VSTA(Visual Studio Tools for Applications)를 사용합니다.

VSTA는 색으로 구분된 Visual Studio 편집기, IntelliSense 및 개체 탐색기와 같은 Visual Studio 환경의 모든 표준 기능을 제공합니다. 또한 VSTA는 다른 Microsoft 개발 도구에서 사용하는 것과 동일한 디버거를 사용합니다. 스크립트의 중단점은 Integration Services 작업 및 컨테이너의 중단점과 원활하게 작동합니다. VSTA는 Microsoft Visual Basic 및 Microsoft Visual C# 프로그래밍 언어를 모두 지원합니다.

스크립트를 실행하려면 패키지가 실행되는 컴퓨터에 VSTA가 설치되어 있어야 합니다. 패키지가 실행되면 태스크는 스크립트 엔진을 로드하고 스크립트를 실행합니다. 프로젝트의 어셈블리에 참조를 추가하여 스크립트에서 외부 .NET 어셈블리에 액세스할 수 있습니다.

비고

스크립트가 미리 컴파일되었는지 여부를 나타낼 수 있는 이전 버전과 달리 모든 스크립트는 SQL Server 2008 Integration Services(SSIS) 이상 버전에서 미리 컴파일됩니다. 스크립트가 미리 컴파일되면 런타임에 언어 엔진이 로드되지 않고 패키지가 더 빠르게 실행됩니다. 그러나 미리 컴파일된 이진 파일은 상당한 디스크 공간을 사용합니다.

스크립트 태스크 구성

스크립트 태스크는 다음과 같은 방법으로 구성할 수 있습니다.

  • 태스크가 실행되는 사용자 지정 스크립트를 제공합니다.

  • Integration Services 런타임이 스크립트 태스크 코드의 진입점으로 호출하는 VSTA 프로젝트에서 메서드를 지정합니다.

  • 스크립트 언어를 지정합니다.

  • 필요에 따라 스크립트에서 사용할 읽기 전용 및 읽기/쓰기 변수 목록을 제공합니다.

SSIS 디자이너를 통해 또는 프로그래밍 방식으로 이러한 속성을 설정할 수 있습니다.

디자이너에서 스크립트 태스크 구성

다음 표에서는 스크립트 태스크에 ScriptTaskLogEntry 대해 기록할 수 있는 이벤트에 대해 설명합니다. 이벤트는 ScriptTaskLogEntrySSIS 로그 구성 대화 상자의 세부 정보 탭에서 로깅을 위해 선택됩니다. 자세한 내용은 SSIS(Integration Services) 로깅로깅에 대한 사용자 지정 메시지를 참조하세요.

로그 항목 설명
ScriptTaskLogEntry 스크립트에서 로깅을 구현한 결과를 보고합니다. 태스크는 객체의 Log 메서드를 호출할 때마다 Dts에 대한 로그 항목을 씁니다. 태스크는 코드가 실행되면 이러한 항목을 씁니다. 자세한 내용은 스크립트 태스크의 로깅을 참조하세요.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목을 참조하세요.

SSIS 디자이너에서 이러한 속성을 설정하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.

프로그래밍 방식으로 스크립트 태스크 구성

이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.