스크립트 태스크
스크립트 태스크는 SQL Server Integration Services가 제공하는 기본 제공 태스크와 변환에서 사용할 수 없는 기능을 수행하는 코드를 제공합니다. 또한 여러 개의 태스크와 변환을 사용하는 대신 여러 기능을 하나의 스크립트에 결합할 수 있습니다. 스크립트 태스크는 데이터 행마다 한 번 수행하는 대신 패키지에서 한 번 또는 열거된 개체마다 한 번 수행해야 하는 작업에 사용합니다.
스크립트 태스크는 다음 용도로 사용할 수 있습니다.
기본 제공 연결 유형에서 지원하지 않는 다른 기술을 사용하여 데이터에 액세스합니다. 예를 들어 스크립트는 ADSI(Active Directory Service Interface)를 사용하여 Active Directory에 액세스하고 사용자 이름을 추출할 수 있습니다.
패키지 특정 성능 카운터를 만듭니다. 예를 들어 스크립트는 복잡하거나 성능이 저조한 태스크를 실행하는 동안 업데이트되는 성능 카운터를 만들 수 있습니다.
지정된 파일이 비어 있는지 확인하고 그렇지 않은 경우 포함된 행 수를 확인한 다음 이러한 정보를 기반으로 패키지의 제어 흐름을 수정합니다. 예를 들어 파일에 포함된 행이 없는 경우 변수 값을 0으로 설정하고 이 값을 평가하는 선행 제약 조건으로 인해 파일 시스템 태스크가 파일을 복사할 수 없도록 합니다.
스크립트를 사용하여 한 집합에 있는 각 데이터 행에 대해 같은 작업을 수행해야 하는 경우에는 스크립트 태스크 대신 스크립트 구성 요소를 사용해야 합니다. 예를 들어 적절한 우표 금액을 평가하여 금액이 너무 높거나 낮은 데이터 행을 건너뛰려면 스크립트 구성 요소를 사용합니다. 자세한 내용은 스크립트 구성 요소를 참조하십시오.
스크립트가 둘 이상의 패키지에 사용되는 경우 스크립트 태스크 대신 사용자 지정 태스크를 작성합니다. 자세한 내용은 사용자 지정 태스크 개발을 참조하십시오.
스크립트 태스크를 패키지에 적합한 선택 항목으로 결정한 후에는 태스크에서 사용하는 스크립트를 개발하고 태스크 자체를 구성해야 합니다.
태스크에서 사용하는 스크립트 작성 및 실행
스크립트 태스크는 Microsoft VSTA(Visual Studio Tools for Applications)를 스크립트 작성 환경과 스크립트 실행 엔진으로 사용합니다.
VSTA는 색 구분 기능이 포함된 Visual Studio 편집기, IntelliSense, 개체 탐색기 등 Visual Studio 환경의 모든 표준 기능을 제공합니다. 또한 다른 Microsoft 개발 도구에서 사용하는 것과 동일한 디버거를 사용합니다. 스크립트 작업의 중단점이 Integration Services 태스크 및 컨테이너의 중단점과 문제 없이 작동합니다. VSTA는 Microsoft Visual Basic 및 Microsoft Visual C# 프로그래밍 언어를 지원합니다.
스크립트를 실행하려면 패키지가 실행되는 컴퓨터에 VSTA가 설치되어 있어야 합니다. 패키지를 실행하면 스크립트 태스크가 스크립트 엔진을 로드하고 스크립트를 실행합니다. 어셈블리에 대한 참조를 프로젝트에 추가하면 스크립트에서 외부 .NET 어셈블리에 액세스할 수 있습니다.
[!참고]
스크립트가 미리 컴파일되었는지 여부를 지정할 수 있었던 이전 버전과는 달리 모든 스크립트가 SQL Server 2008 Integration Services(SSIS) 이상 버전에 미리 컴파일되어 있습니다. 스크립트가 미리 컴파일된 경우 런타임 시 언어 엔진이 로드되지 않으므로 패키지가 보다 신속하게 실행됩니다. 그러나 미리 컴파일된 이진 파일은 상당한 디스크 공간을 소비합니다.
스크립트 태스크 구성
다음과 같은 방법으로 스크립트 태스크를 구성할 수 있습니다.
태스크에서 실행할 사용자 지정 스크립트를 제공합니다.
Integration Services 런타임이 스크립트 태스크 코드에 대한 진입점으로 호출되는 VSTA 프로젝트의 메서드를 지정합니다.
스크립트 언어를 지정합니다.
선택적으로 스크립트에서 사용할 읽기 전용 및 읽기/쓰기 변수 목록을 제공합니다.
이러한 속성은 SSIS 디자이너를 사용하거나 프로그래밍 방식으로 설정할 수 있습니다.
디자이너에서 스크립트 태스크 구성
다음 표에서는 스크립트 태스크용으로 로깅될 수 있는 ScriptTaskLogEntry 이벤트에 대해 설명합니다. SSIS 로그 구성 대화 상자의 세부 정보 탭에는 ScriptTaskLogEntry 이벤트가 로깅 대상으로 선택되어 있습니다. 자세한 내용은 Integration Services(SSIS) 로깅 및 로깅할 메시지 사용자 지정을 참조하십시오.
로그 항목 |
설명 |
---|---|
ScriptTaskLogEntry |
스크립트에서 로깅을 구현한 결과를 보고합니다. 이 태스크는 Dts 개체의 Log 메서드를 호출할 때마다 로그 항목을 기록합니다. 이러한 항목은 코드가 실행될 때 기록됩니다. 자세한 내용은 스크립트 태스크에서 로깅을 참조하십시오. |
SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목을 참조하십시오.
SSIS 디자이너에서 이러한 속성을 설정하는 방법은 다음 항목을 참조하십시오.
프로그래밍 방식으로 스크립트 태스크 구성
이러한 속성을 프로그래밍 방식으로 설정하는 방법은 다음 항목을 참조하십시오.
관련 내용
- shareourideas.com의 기술 문서 - C#의 배달 알림으로 전자 메일을 보내는 방법
|