用于 Azure 的 Integration Services (SSIS) 功能包
适用于: SQL Server Azure 数据工厂中的 SSIS Integration Runtime
用于 Azure 的 SQL Server Integration Services (SSIS) 功能包是一个扩展包,可为 SSIS 提供本页面上列出的组件,用于连接到 Azure 服务、在 Azure 与本地数据源之间传输数据以及处理 Azure 中存储的数据。
- 对于 SQL Server 2022 - 用于 Azure 的 Microsoft SQL Server 2022 Integration Services 功能包
- 对于 SQL Server 2019 - 用于 Azure 的 Microsoft SQL Server 2019 Integration Services 功能包
- 对于 SQL Server 2017 - 用于 Azure 的 Microsoft SQL Server 2017 Integration Services 功能包
- 对于 SQL Server 2016 - 用于 Azure 的 Microsoft SQL Server 2016 Integration Services 功能包
- 对于 SQL Server 2014 - 用于 Azure 的 Microsoft SQL Server 2014 Integration Services 功能包
- 对于 SQL Server 2012 - 用于 Azure 的 Microsoft SQL Server 2012 Integration Services 功能包
下载页面还包含有关先决条件的信息。 在将 Azure 功能包安装到服务器上之前,确保已安装 SQL Server,否则在将功能包部署到服务器上的 SSIS 目录数据库 SSISDB 时,功能包中的组件可能不可用。
功能包中的组件
连接管理器
任务
数据流组件
Azure Blob、Azure Data Lake Store 和 Data Lake Storage Gen2 文件枚举器。 请参阅 Foreach 循环容器
使用 TLS 1.2
Azure 功能包使用的 TLS 版本遵循系统 .NET Framework 设置。
若要使用 TLS 1.2,请使用以下两个注册表项下的数据 1
添加名称为 SchUseStrongCrypto
的 REG_DWORD
值。
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
Java 上的依赖项
必须使用 Java,才能结合使用 ORC/Parquet 文件格式和 Azure Data Lake Store/灵活的文件连接器。
Java 版本的体系结构(32/64 位)应与要使用的 SSIS 运行时的体系结构一致。
已测试以下 Java 版本。
安装 Zulu OpenJDK
- 下载并提取安装 zip 包。
- 从命令提示符处,运行
sysdm.cpl
。 - 在“高级”选项卡上,选择“环境变量” 。
- 在“系统变量”部分中,选择“新建” 。
- 输入变量名称
JAVA_HOME
。 - 选择“浏览目录”,导航到已提取的文件夹,然后选择
jre
子文件夹 。 然后选择“确定”,“变量值”将自动进行填充 。 - 选择“确定”,关闭“新建系统变量”对话框 。
- 选择“确定”,关闭“环境变量”对话框 。
- 选择“确定”以关闭“系统属性”对话框 。
提示
如果使用 Parquet 格式出现错误,指示“调用 java 时出现错误,消息:‘java.lang.OutOfMemoryError:Java 堆空间’”,则可以添加一个环境变量 _JAVA_OPTIONS
以调整 JVM 的最小/最大堆大小。
示例:将变量 _JAVA_OPTIONS
的值设置为 -Xms256m -Xmx16g
。 标志 Xms 指定 Java 虚拟机 (JVM) 的初始内存分配池,而 Xmx 指定最大内存分配池。 这意味着 JVM 初始内存为 Xms
,并且能够使用的最多内存为 Xmx
。 默认最小值为 64MB,最大值为 1G。
在 Azure-SSIS Integration Runtime 上设置 Zulu 的 OpenJDK
这应该通过 Azure-SSIS Integration Runtime 的自定义设置界面完成。
假设使用 zulu8.33.0.1-jdk8.0.192-win_x64.zip
。
可以按以下方式组织 blob 容器:
main.cmd
install_openjdk.ps1
zulu8.33.0.1-jdk8.0.192-win_x64.zip
作为入口点,main.cmd
触发 PowerShell 脚本 install_openjdk.ps1
的执行,后面的脚本进而会相应地提取 zulu8.33.0.1-jdk8.0.192-win_x64.zip
并设置 JAVA_HOME
。
main.cmd
powershell.exe -file install_openjdk.ps1
提示
如果使用 Parquet 格式并出现错误,指示“调用 java 时出现错误,消息:‘java.lang.OutOfMemoryError:Java 堆空间’”,则可以在 main.cmd
中添加命令以调整 JVM 的最小/最大堆大小。 示例:
setx /M _JAVA_OPTIONS "-Xms256m -Xmx16g"
标志 Xms 指定 Java 虚拟机 (JVM) 的初始内存分配池,而 Xmx 指定最大内存分配池。 这意味着 JVM 初始内存为 Xms
,并且能够使用的最多内存为 Xmx
。 默认最小值为 64MB,最大值为 1G。
install_openjdk.ps1
Expand-Archive zulu8.33.0.1-jdk8.0.192-win_x64.zip -DestinationPath C:\
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\zulu8.33.0.1-jdk8.0.192-win_x64\jre", "Machine")
安装 Oracle Java SE 运行时环境
- 下载并运行 exe 安装程序。
- 按照安装程序说明完成安装。
方案:处理大数据
使用 Azure Connector 可完成以下大数据处理工作:
使用 Azure Blob 上载任务可将输入数据上载到 Azure Blob 存储。
使用 Azure HDInsight 创建群集任务可创建 Azure HDInsight 群集。 如果要使用自己的群集,则此步骤是可选的。
使用 Azure HDInsight Hive 任务或 Azure HDInsight Pig 任务可在 Azure HDInsight 群集上调用 Pig 或 Hive 作业。
使用 Azure HDInsight 删除群集任务可在使用之后删除 HDInsight 群集(如果在步骤 #2 中创建了按需 HDInsight 群集)。
使用 Azure HDInsight Blob 下载任务可从 Azure Blob 存储下载 Pig/Hive 输出数据。
方案:管理云中的数据
在 SSIS 包中使用 Azure blob 目标,将输出数据写入 Azure blob 存储区;或使用 Azure blob 源,从 Azure blob 存储区中读取数据。
结合使用 Foreach 循环容器和 Azure blob 枚举器,处理多个 blob 文件中的数据。
发行说明
版本 1.21.0
改进
- 已将 log4j 从版本 1.2.17 升级到 2.17.1。
版本 1.20.0
改进
- 已将目标 .NET Framework 版本从 4.6 更新到 4.7.2。
- 将“Azure SQL DW 上传任务”重命名为了“Azure Synapse Analytics 任务”。
Bug 修复
- 访问 Azure Blob 存储时,如果运行 SSIS 的计算机的区域设置不是 en-US,包执行将失败,并出现错误消息“字符串未识别为有效的日期/时间值”。
- 对于 Azure 存储连接管理器,即使使用数据工厂托管标识进行身份验证,也需要提供未使用的机密。
版本 1.19.0
改进
- 向 Azure 存储连接管理器添加了对共享访问签名身份验证的支持。
版本 1.18.0
改进
- 对于灵活的文件任务,有三项改进:(1) 添加了对复制/删除操作的通配符支持;(2) 用户可以启用/禁用对删除操作的递归搜索;(3) 复制操作的目标文件名可以为空,以保留源文件名。
版本 1.17.0
这是仅针对 SQL Server 2019 发布的修补程序版本。
Bug 修复
- 在 Visual Studio 2019 中执行修复且面向 SQL Server 2019 时,灵活文件任务/源/目标可能会失败,并显示错误消息:
Attempted to access an element as a type incompatible with the array.
- 在 Visual Studio 2019 中执行修复并面向 SQL Server 2019 时,使用 ORC/Parquet 格式的灵活的文件源/目标可能会失败,并显示错误消息:
Microsoft.DataTransfer.Common.Shared.HybridDeliveryException: An unknown error occurred. JNI.JavaExceptionCheckException.
版本 1.16.0
Bug 修复
- 在某些情况下,包执行报告“错误:无法加载文件或程序集‘Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed’或其依赖项之一”。
版本 1.15.0
改进
- 向灵活的文件任务添加删除文件夹/文件操作
- 在灵活的文件源中添加外部/输出数据类型转换函数
Bug 修复
- 在某些情况下,Data Lake Storage Gen2 的测试连接发生故障,并显示错误消息“尝试访问作为与数组不兼容的类型的元素”
- 恢复对 Azure 存储仿真器的支持