스크립트 태스크
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
스크립트 작업은 SQL Server 통합 서비스가 제공하는 기본 제공 작업과 변환에서 사용할 수 없는 기능을 수행하는 코드를 제공합니다. 스크립트 작업은 여러 작업 및 변환을 사용하는 대신 함수를 하나의 스크립트로 결합할 수도 있습니다. 데이터 행당 한 번이 아니라 패키지에서 한 번(또는 열거된 개체당 한 번) 수행해야 하는 작업에 스크립트 작업을 사용합니다.
스크립트 태스크는 다음 용도로 사용할 수 있습니다.
기본 제공 연결 형식에서 지원되지 않는 다른 기술을 사용하여 데이터에 액세스합니다. 예를 들어 스크립트는 ADSI(Active Directory Service Interface)를 사용하여 Active Directory에 액세스하고 사용자 이름을 추출할 수 있습니다.
패키지별 성능 카운터를 만듭니다. 예를 들어 스크립트는 복잡하거나 제대로 수행되지 않는 작업이 실행되는 동안 업데이트되는 성능 카운터를 만들 수 있습니다.
지정된 파일이 비어 있는지 또는 포함된 행 수를 확인한 다음 해당 정보를 기반으로 패키지의 제어 흐름에 영향을 줍니다. 예를 들어 파일에 행이 0개, 변수 값이 0으로 설정되고 값을 평가하는 선행 제약 조건이 있으면 파일 시스템 작업에서 파일을 복사할 수 없습니다.
스크립트를 사용하여 집합의 각 데이터 행에 대해 동일한 작업을 수행해야 하는 경우 스크립트 작업 대신 스크립트 구성 요소를 사용해야 합니다. 예를 들어 우편물 금액의 합리성을 평가하고 금액이 매우 높거나 낮은 데이터 행을 건너뛰려면 스크립트 구성 요소를 사용합니다. 자세한 정보는 스크립트 구성 요소를 참조하세요.
둘 이상의 패키지에서 스크립트를 사용하는 경우 스크립트 작업을 사용하는 대신 사용자 지정 작업을 작성하는 것이 좋습니다. 자세한 내용은 사용자 지정 작업 개발을 참조하세요.
스크립트 작업을 패키지에 적합한 선택 항목으로 결정한 후에는 해당 작업에서 사용하는 스크립트를 개발하고 작업 자체를 구성해야 합니다.
태스크에서 사용하는 스크립트 작성 및 실행
스크립트 작업은 스크립트 및 해당 스크립트를 실행하는 엔진을 작성하는 환경으로 Microsoft VSTA(Visual Studio Tools for Applications)를 사용합니다.
VSTA는 색으로 구분된 Visual Studio 편집기, IntelliSense 및 개체 탐색기 같은 Visual Studio 환경의 모든 표준 기능을 제공합니다. VSTA는 또 다른 Microsoft 개발 도구에서 사용하는 것과 동일한 디버거를 사용합니다. 스크립트의 중단점은 통합 서비스 작업 및 컨테이너의 중단점과 원활하게 작동합니다. VSTA는 Microsoft Visual Basic 및 Microsoft Visual C# 프로그래밍 언어를 모두 지원합니다.
스크립트를 실행하려면 패키지가 실행되는 컴퓨터에 VSTA가 설치되어 있어야 합니다. 패키지를 실행하면 스크립트 태스크가 스크립트 엔진을 로드하고 스크립트를 실행합니다. 프로젝트의 어셈블리에 참조를 추가하여 스크립트에서 외부 .NET 어셈블리에 액세스할 수 있습니다. 현재 .NET Core 및 .NET 표준 어셈블리 참조는 지원되지 않습니다.
참고 항목
스크립트가 미리 컴파일되었는지 여부를 나타낼 수 있는 이전 버전과 달리 모든 스크립트는 SQL Server 2008 Integration Services(SSIS) 이상 버전에서 미리 컴파일됩니다. 스크립트가 미리 컴파일되면 런타임에 언어 엔진이 로드되지 않고 패키지가 더 빠르게 실행됩니다. 그러나 미리 컴파일된 이진 파일은 상당한 디스크 공간을 사용합니다.
스크립트 작업 구성
다음과 같은 방법으로 스크립트 작업을 구성할 수 있습니다.
작업이 실행되는 사용자 지정 스크립트를 제공합니다.
통합 서비스 런타임이 스크립트 작업 코드의 진입점으로 호출하는 메서드를 VSTA 프로젝트에서 지정합니다.
스크립트 언어를 지정합니다.
필요에 따라 스크립트에서 사용할 읽기 전용 및 읽기/쓰기 변수 목록을 제공합니다.
SSIS 디자이너를 사용하거나 프로그래밍 방식으로 이 속성을 설정할 수 있습니다.
디자이너에서 스크립트 작업 구성
다음 표에서는 스크립트 작업에 대해 기록할 수 있는 ScriptTaskLogEntry 이벤트에 대해 설명합니다. SSIS 로그 구성 대화 상자의 세부 정보 탭에서 로깅을 위해 ScriptTaskLogEntry 이벤트가 선택됩니다. 자세한 내용은 SSIS(Integration Services) 로깅을 참조하세요.
로그 항목 | 설명 |
---|---|
ScriptTaskLogEntry | 스크립트에서 로깅을 구현한 결과를 보고합니다. 이 작업은 Dts 개체의 로그 메드를 호출할 때마다 로그 항목을 기록합니다. 작업은 코드가 실행되면 이러한 항목을 씁니다. 자세한 정보는 스크립트 작업에서 로깅을 참조하세요. |
SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목을 참조하세요.
SSIS 디자이너에서 이러한 속성을 설정하는 방법은 다음 주제를 참조하세요.
프로그래밍 방식으로 스크립트 작업 구성
이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목 중 하나를 선택하세요.
스크립트 작업 편집기(일반 페이지)
스크립트 작업 편집기 대화 상자의 일반 페이지를 사용하여 스크립트 작업을 명명 및 설명할 수 있습니다.
스크립트 작업에 대한 자세한 정보는 스크립트 작업 및 스크립트 작업 편집기에서 스크립트 작업 구성을 참조하세요. 스크립트 태스크 프로그래밍 방법은 Extending the Package with the Script Task을 참조하십시오.
옵션
이름
스크립트 작업에 사용할 고유 이름을 제공합니다. 이 이름은 태스크 아이콘에서 레이블로 사용됩니다.
참고
태스크 이름은 패키지 내에서 고유해야 합니다.
설명
스크립트 작업에 대한 설명을 입력합니다.
스크립트 작업 편집기(스크립트 페이지)
스크립트 태스크 편집기 대화 상자의 스크립트 페이지를 사용하여 스크립트 속성을 설정하고 스크립트에서 액세스할 수 있는 변수를 지정할 수 있습니다.
참고 항목
SQL Server 2008 Integration Services(SSIS) 이상 버전에서는 모든 스크립트가 미리 컴파일됩니다. 그러나 이전 버전에서는 PrecompileScriptIntoBinaryCode 속성을 설정하여 스크립트가 미리 컴파일되었음을 지정해야 합니다.
스크립트 작업에 대한 자세한 정보는 스크립트 작업 및 스크립트 작업 편집기에서 스크립트 작업 구성을 참조하세요. 스크립트 태스크 프로그래밍 방법은 Extending the Package with the Script Task을 참조하십시오.
옵션
ScriptLanguage
Microsoft Visual Basic 또는 Microsoft Visual C#에서 작업에 대한 스크립팅 언어를 선택합니다.
태스크에 대한 스크립트를 작성한 후에는 ScriptLanguage 속성의 값을 변경할 수 없습니다.
스크립트 태스크에 대한 스크립트 언어를 설정하려면 옵션 대화 상자의 일반 페이지에서 스크립트 언어 옵션을 사용하십시오. 자세한 정보는 일반 페이지를 참조하세요.
EntryPoint
통합 서비스 런타임이 스크립트 작업 코드의 진입점으로 호출하는 메서드를 지정합니다. 지정된 메서드는 Microsoft Visual Studio Tools for Applications(VSTA) 프로젝트의 ScriptMain 클래스에 있어야 합니다. ScriptMain 클래스는 스크립트 템플릿에서 생성된 기본 클래스입니다.
VSTA 프로젝트에서 메서드 이름을 변경한 경우 EntryPoint 속성의 값을 변경해야 합니다.
ReadOnlyVariables
스크립트에서 사용할 수 있는 읽기 전용 변수의 쉼표로 구분된 목록을 입력하거나 줄임표(...) 단추를 클릭하고 변수 선택 대화 상자에서 변수를 선택합니다.
참고 항목
변수 이름은 대/소문자를 구분합니다.
ReadWriteVariables
스크립트에서 사용할 수 있는 쉼표로 구분된 읽기/쓰기 변수 목록을 입력하거나 줄임표(...) 단추를 클릭하고 변수 선택 대화 상자에서 변수를 선택합니다.
참고 항목
변수 이름은 대/소문자를 구분합니다.
스크립트 편집
스크립트를 작성하거나 수정할 수 있는 VSTA IDE가 열립니다.
관련 내용
- shareourideas.com의 기술 문서 - C#의 배달 알림으로 메일을 보내는 방법