다음을 통해 공유


스크립트 작업

업데이트: 2006년 7월 17일

스크립트 작업은 SQL Server 2005 Integration Services가 제공하는 기본 제공 작업과 변환에서 사용할 수 없는 기능을 수행하는 코드를 제공합니다. 또한 여러 개의 작업과 변환을 사용하는 대신 여러 기능을 하나의 스크립트에 결합할 수 있습니다. 데이터 행마다 한 번 수행하는 것이 아니라 패키지에서 한 번 또는 열거된 개체마다 한 번 수행해야 하는 작업에 스크립트 작업을 사용합니다. 스크립트를 사용하여 한 집합에 있는 각 데이터 행에 대해 같은 작업을 수행해야 하는 경우에는 스크립트 작업 대신 스크립트 구성 요소를 사용해야 합니다. 예를 들어 적절한 우표 금액을 평가하여 금액이 너무 높거나 낮은 데이터 행을 건너뛰려면 스크립트 구성 요소를 사용합니다. 자세한 내용은 스크립트 구성 요소를 참조하십시오.

스크립트 작업으로 생성된 코드는 패키지 런타임에 컴파일되어 실행되는 사용자 지정 Microsoft Visual Basic .NET 코드입니다.

스크립트 작업은 다음 용도로 사용할 수 있습니다.

  • 기본 제공 연결 유형에서 지원하지 않는 다른 기술을 사용하여 데이터에 액세스합니다. 예를 들어 스크립트는 ADSI(Active Directory Service Interface)를 사용하여 Active Directory에 액세스하고 사용자 이름을 추출할 수 있습니다.
  • 패키지 특정 성능 카운터를 만듭니다. 예를 들어 스크립트는 복잡하거나 성능이 저조한 작업을 실행하는 동안 업데이트되는 성능 카운터를 만들 수 있습니다.
  • 지정된 파일이 비어 있는지 확인하고 그렇지 않은 경우 포함된 행 수를 확인한 다음 이러한 정보를 기반으로 패키지의 제어 흐름을 수정합니다. 예를 들어 파일에 포함된 행이 없는 경우 변수 값을 0으로 설정하고 이 값을 평가하는 선행 제약 조건으로 인해 파일 시스템 작업이 파일을 복사할 수 없도록 합니다.

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

  • 작업에서 실행할 사용자 지정 스크립트를 제공합니다.
  • 스크립트의 진입점이 될 함수 이름을 지정합니다.
  • 스크립트를 미리 컴파일할지 여부를 지정합니다.
  • 선택적으로 스크립트에서 사용할 읽기 전용 및 읽기/쓰기 변수 목록을 제공합니다.

스크립트 작업은 VSA(Visual Studio for Applications)를 스크립트 작성 및 실행 엔진으로 사용합니다. 스크립트를 실행하려면 패키지가 실행되는 컴퓨터에 VSA가 설치되어 있어야 합니다.

스크립트 작업용 코드를 작성하는 방법은 Extending the Package with the Script Task을 참조하십시오.

스크립트가 둘 이상의 패키지에 사용되는 경우 스크립트 작업 대신 사용자 지정 작업을 작성합니다. 자세한 내용은 Developing a Custom Task을 참조하십시오.

Visual Studio for Applications 환경

스크립트 작업은 VSA 환경에 대한 액세스를 제공합니다. 색 코드 Visual Studio 편집기, IntelliSense, 개체 탐색기 등 Visual Studio .NET 환경의 모든 표준 기능을 사용할 수 있습니다.

패키지를 실행하면 스크립트 작업이 스크립트 엔진을 로드하고 스크립트를 실행합니다. 어셈블리에 대한 참조를 프로젝트에 추가하면 스크립트에서 외부 .NET 어셈블리에 액세스할 수 있습니다.

스크립트 작업은 ActiveX 스크립트 작업과 비교하여 다음과 같은 이점을 제공합니다.

  • 통합 개발 환경. VSA는 다른 Microsoft 개발 도구에서 제공하는 것과 동일한 IDE를 제공합니다.
  • 통합 디버거. VSA를 사용하면 다른 Microsoft 개발 도구에서 제공하는 것과 동일한 디버거를 사용하여 스크립트를 디버깅할 수 있습니다. 스크립트 작업의 중단점이 Integration Services 작업 및 컨테이너의 중단점과 문제 없이 작동합니다.
  • CLR(공용 언어 런타임) 언어의 사용
  • SSIS 디자이너와의 통합

스크립트 작업은 ActiveX 스크립트 작업을 대체합니다. 이전 버전과의 호환성을 위해 필요한 경우에만 ActiveX 스크립트 작업을 사용하십시오. 이 기능은 다음 버전의 Microsoft SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하십시오.

최적화

VSA 스크립트는 패키지가 실행되기 전에 컴파일해야 합니다. 스크립트 작업에는 패키지를 저장할 때 스크립트를 이진 코드로 미리 컴파일하는 옵션이 있습니다. 스크립트를 미리 컴파일하면 런타임 시 언어 엔진이 로드되지 않으므로 패키지가 더 빨리 실행됩니다. 그러나 컴파일된 이진 파일은 많은 디스크 공간을 차지합니다. 미리 컴파일하는 옵션을 사용하지 않으면 스크립트가 런타임에 컴파일되므로 패키지 실행 속도가 느려지지만 디스크 공간은 적게 사용됩니다. 큰 패키지를 저장해도 문제가 없다면 VSA 스크립트를 미리 컴파일해야 합니다. 64비트 환경에서는 미리 컴파일된 스크립트만 실행할 수 있습니다.

스크립트를 미리 컴파일할 것인지 여부를 선택할 때는 컴파일된 스크립트를 디버깅할 수 없다는 점도 고려해야 합니다. 기본적으로 스크립트 작업은 해당 스크립트를 미리 컴파일하도록 구성되며 해당 PreCompile 속성이 True로 설정됩니다. PreCompile 속성은 일반적으로 패키지를 개발하고 디버깅하는 동안 False로 설정되어 있다가 패키지가 배포되기 전에 True로 재설정됩니다.

스크립트 작업에 사용할 수 있는 사용자 지정 로깅 메시지

다음 표에서는 스크립트 작업에 대한 사용자 지정 로그 항목을 설명합니다. 자세한 내용은 패키지에서 로깅 구현로깅할 메시지 사용자 지정을 참조하십시오.

로그 항목 설명

ScriptTaskLogEntry

스크립트에서 로깅을 구현한 결과를 보고합니다. Dts 개체의 Log 메서드 호출에 대해 각각 로그 항목이 기록됩니다. 이 항목은 코드가 실행되면 기록됩니다. 자세한 내용은 Logging in the Script Task를 참조하십시오.

스크립트 작업 구성

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

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

SSIS 디자이너에서 이러한 속성을 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

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

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

참고 항목

개념

Integration Services 작업
패키지 제어 흐름 만들기
64비트 컴퓨터에서 Integration Services 고려 사항

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 7월 17일

변경된 내용
  • 사용자 지정 로그 항목을 보여 주는 표를 추가했습니다.

2005년 12월 5일

변경된 내용
  • 스크립트 작업과 스크립트 구성 요소를 적절하게 사용하는 방법에 대한 팁을 추가했습니다.