Integration Services 프로그래밍 개요

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

SQL Server Integration Services에는 패키지 제어 흐름 및 관리와 데이터 이동 및 변환을 구분하는 아키텍처가 있습니다. 이 아키텍처를 정의하고 Integration Services를 프로그래밍할 때 자동화 및 확장할 수 있는 두 가지 고유한 엔진이 있습니다. 런타임 엔진은 개발자가 실행 흐름을 제어하고 로깅, 이벤트 처리기 및 변수에 대한 옵션을 설정할 수 있는 제어 흐름 및 패키지 관리 인프라를 구현합니다. 데이터 흐름 엔진은 데이터 추출, 변환 및 로드 전용인 특수 고성능 엔진입니다. Integration Services를 프로그래밍할 때 이러한 두 엔진에 대해 프로그래밍합니다.

다음 이미지는 Integration Services의 아키텍처를 보여 줍니다.

Integration Services architecture.

Integration Services 런타임 엔진

Integration Services 런타임 엔진은 실행 순서, 로깅, 변수 및 이벤트 처리를 가능하게 하는 인프라를 구현하여 패키지의 관리 및 실행을 제어합니다. Integration Services 런타임 엔진을 프로그래밍하면 개발자가 패키지 만들기, 구성 및 실행을 자동화하고 사용자 지정 작업 및 기타 확장을 만들 수 있습니다.

자세한 내용은 스크립트 태스크를 사용하여 패키지 확장, 사용자 지정 태스크 개발프로그래밍 방식으로 패키지 작성을 참조하세요.

Integration Services 데이터 흐름 엔진

데이터 흐름 엔진은 다른 원본의 데이터를 이동하고 변환하는 데만 사용되는 특수한 고성능 태스크인 데이터 흐름 태스크를 관리합니다. 다른 태스크와 달리 데이터 흐름 태스크에는 원본, 변환 또는 대상으로 구성할 수 있는 데이터 흐름 구성 요소라는 추가 개체가 있습니다. 이러한 구성 요소는 작업의 핵심 이동 부분입니다. 데이터의 이동 및 변환을 정의합니다. 데이터 흐름 엔진을 프로그래밍하면 개발자가 데이터 흐름 태스크에서 구성 요소의 생성 및 구성을 자동화하고 사용자 지정 구성 요소를 만들 수 있습니다.

자세한 내용은 스크립트 구성 요소를 사용하여 데이터 흐름 확장, 사용자 지정 데이터 흐름 구성 요소 개발 및 프로그래밍 방식으로 패키지 빌드를 참조하세요.

지원되는 언어

Integration Services는 Microsoft .NET Framework를 완벽하게 지원합니다. 이렇게 하면 개발자가 선택한 Integration Services를 프로그래밍할 수 있습니다. NET 규격 언어. 런타임 엔진과 데이터 흐름 엔진은 모두 네이티브 코드로 작성되지만 모두 완전히 관리되는 개체 모델을 통해 사용할 수 있습니다.

Microsoft Visual Studio 또는 다른 코드 또는 텍스트 편집기에서 Integration Services 패키지, 사용자 지정 작업 및 구성 요소를 프로그래밍할 수 있습니다. Visual Studio는 코딩, 디버깅 및 테스트의 반복 주기를 간소화하고 가속화하는 다양한 도구와 기능을 개발자에게 제공합니다. Visual Studio를 사용하면 배포가 더 쉬워집니다. 그러나 Integration Services 코드 프로젝트를 컴파일하고 빌드하기 위해 Visual Studio가 필요하지 않습니다. .NET Framework SDK에는 Visual Basic 및 C# 컴파일러 및 관련 도구가 포함되어 있습니다.

Important

기본적으로 .NET Framework는 SQL Server와 함께 설치되지만 .NET Framework SDK는 설치되지 않습니다. SDK가 컴퓨터에 설치되어 있고 SDK 설명서가 Books Online 컬렉션에 포함되어 있지 않으면 이 섹션의 SDK 콘텐츠에 대한 링크가 작동하지 않습니다. .NET Framework SDK를 설치한 후 SQL Server용 제품 설명서 추가 또는 제거의 지침에 따라 온라인 설명서 컬렉션 및 목차에 SDK 설명서를 추가할 수 있습니다.

Integration Services 스크립트 태스크 및 스크립트 구성 요소는 포함된 스크립팅 환경으로 Microsoft Visual Studio Tools for Applications(VSTA)를 사용합니다. VSTA는 Microsoft Visual Basic 및 Microsoft Visual C#을 지원합니다.

참고 항목

Integration Services 애플리케이션 프로그래밍 인터페이스는 VBScript와 같은 COM 기반 스크립팅 언어와 호환되지 않습니다.

어셈블리 찾기

SQL Server 2019 (15.x)에서 Integration Services 어셈블리는 .NET 4.0으로 업그레이드되었습니다. .NET 4에 대한 별도의 전역 어셈블리 캐시가 있습니다 *\<drive>*:\Windows\Microsoft.NET\assembly. 이 경로, 주로 GAC_MSIL 폴더에서 모든 Integration Services 어셈블리를 찾을 수 있습니다.

이전 버전의 SQL Server와 마찬가지로 핵심 Integration Services 확장성 .dll 파일도 있습니다 *\<drive>*:\Program Files\Microsoft SQL Server\\\<nnn>\SDK\Assemblies. <nnn>는 SQL Server 공유 파일 위치버전을 식별합니다.

일반적으로 사용되는 어셈블리

다음 표에서는 .NET Framework를 사용하여 Integration Services를 프로그래밍할 때 자주 사용되는 어셈블리를 나열합니다.

어셈블리 설명
Microsoft.SqlServer.ManagedDTS.dll 관리되는 런타임 엔진을 포함합니다.
Microsoft.SqlServer.RuntimeWrapper.dll 네이티브 런타임 엔진에 대한 PIA(주 interop 어셈블리) 또는 래퍼를 포함합니다.
Microsoft.SqlServer.PipelineHost.dll 관리되는 데이터 흐름 엔진을 포함합니다.
Microsoft.SqlServer.PipelineWrapper.dll 네이티브 데이터 흐름 엔진에 대한 PIA(기본 interop 어셈블리) 또는 래퍼를 포함합니다.