Integration Services 编程概述

适用于:Azure 数据工厂中的 SQL Server SSIS Integration Runtime

SQL Server Integration Services 具有将数据移动和转换与包控制流和管理分开的体系结构。 有两个截然不同的引擎定义此体系结构,对 Integration Services 进行编程可以扩展这两个引擎并使其自动化。 运行时引擎实现控制流和包管理基础结构,该基础结构使开发人员能够控制执行流并为日志记录、事件处理程序和变量设置选项。 数据流引擎是一个专用高性能引擎,专用于提取、转换和加载数据。 对 Integration Services 进行编程时,将会针对这两个引擎进行编程。

下图描绘了 Integration Services 的体系结构。

Integration Services 体系结构。

Integration Services 运行时引擎

Integration Services 运行时引擎通过实现启用执行顺序、日志记录、变量和事件处理的基础结构来控制包的管理和执行。 开发人员对 Integration Services 运行时引擎进行编程可自动化包的创建、配置和执行操作,并可创建自定义任务和其他扩展插件。

有关详细信息,请参阅使用脚本任务扩展包开发自定义任务以编程方式生成包

Integration Services 数据流引擎

数据流引擎管理数据流任务,是一个专门用于从不同源移动和转换数据的专用高性能任务。 不像其他任务,数据流任务包含称为数据流组件的其他对象,可以是源、转换或目标。 这些组件是移动任务组成部分的核心。 它们定义数据的移动和转换。 开发人员对数据流引擎进行编程可自动化数据流任务中组件的创建和配置,并可创建自定义组件。

有关详细信息,请参阅使用脚本组件扩展数据流开发自定义数据流组件以编程方式生成包

支持的语言

Integration Services 完全支持 Microsoft .NET Framework。 这使开发人员可以自主选择符合 .NET 的语言来对 Integration Services 进行编程。 虽然运行时引擎和数据流引擎是使用本机代码编写的,但两者都可以通过完全托管对象模型来使用。

可以用 Integration Services Microsoft 或者另一种代码或文本编辑器对 Visual Studio 包、自定义任务和组件进行编程。 Visual Studio 为开发人员提供了许多工具和功能以简化和加速编码、调试和测试的迭代周期。 Visual Studio 还使部署更加容易。 但不需要使用 Visual Studio 进行编译和生成 Integration Services 代码项目。 .NET Framework SDK 包括 Visual Basic 和 C# 编译器和相关工具。

重要

默认情况下,.NET Framework 与 SQL Server 一起安装,但不安装 .NET Framework SDK。 除非 SDK 已安装在计算机上,并且 SDK 文档包含在联机丛书集中,否则本部分中指向 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 应用程序编程接口与基于 COM 的脚本语言(如 VBScript)不兼容。

查找程序集

在 SQL Server 2019 (15.x)中, Integration Services 程序集已升级到 .NET 4.0。 对于位于 *\<drive>*:\Windows\Microsoft.NET\assembly 中的 .NET 4,存在单独的全局程序集缓存。 您可在此路径下找到所有 Integration Services 程序集,一般位于 GAC_MSIL 文件夹中。

与之前版本的 SQL Server 一样,核心 Integration Services 扩展性 .dll 文件也位于 *\<drive>*:\Program Files\Microsoft SQL Server\\\<nnn>\SDK\Assemblies 中。 <nnn> 标识 SQL Server 共享文件位置的版本。

常用程序集

下表列出了使用 Integration Services 对 .NET Framework 进行编程时常用的程序集。

Assembly 说明
Microsoft.SqlServer.ManagedDTS.dll 包含托管运行时引擎。
Microsoft.SqlServer.RuntimeWrapper.dll 包含用于本机运行时引擎的主互操作程序集 (PIA) 或包装。
Microsoft.SqlServer.PipelineHost.dll 包含托管数据流引擎。
Microsoft.SqlServer.PipelineWrapper.dll 包含用于本机数据流引擎的主互操作程序集 (PIA) 或包装。