使用 Azure SQL 托管实例代理运行 SSIS 包
适用于:Azure 数据工厂 Azure Synapse Analytics
本文介绍如何使用 Azure SQL 托管实例代理运行 SQL Server Integration Services (SSIS) 包。 此功能的行为类似于在本地环境中通过 SQL Server 代理计划 SSIS 包。
使用此功能可以运行存储在以下位置的 SSIS 包:SQL 托管实例中的 SSISDB、文件系统(例如 Azure 文件存储),或 Azure-SSIS 集成运行时包存储。
先决条件
若要使用此功能,请下载并安装最新版 SQL Server Management Studio (SSMS)。 版本支持详细信息如下所示:
- 若要运行 SSISDB 或文件系统中的包,请安装 SSMS 版本 18.5 或更高版本。
- 若要运行包存储中的包,请安装 SSMS 版本 18.6 或更高版本。
还需要在 Azure 数据工厂中预配 Azure-SSIS 集成运行时。 它使用 SQL 托管实例作为终结点服务器。
在 SSISDB 中运行 SSIS 包
在此过程中,将使用 SQL 托管实例代理来调用存储在 SSISDB 中的 SSIS 包。
在最新版 SSMS 中,连接到 SQL 托管实例。
创建新的代理作业和新的作业步骤。 在“SQL Server 代理”下,右键单击“作业”文件夹,然后选择“新建作业” 。
在“新建作业步骤”页上,选择“SQL Server Integration Services 包”作为类型 。
在“包”选项卡上,选择“SSIS 目录”作为包位置 。
由于 SSISDB 位于 SQL 托管实例中,因此不需要指定身份验证。
指定 SSISDB 中的某个 SSIS 包。
在“配置”选项卡上,可执行以下操作:
- 在“参数”下指定参数值。
- 替代“连接管理器”下的值。
- 替代该属性,然后在“高级”下选择日志记录级别。
选择“确定”以保存代理作业配置。
启动代理作业以运行 SSIS 包。
在文件系统中运行 SSIS 包
在此过程中,将使用 SQL 托管实例代理来运行存储在文件系统中的 SSIS 包。
在最新版 SSMS 中,连接到 SQL 托管实例。
创建新的代理作业和新的作业步骤。 在“SQL Server 代理”下,右键单击“作业”文件夹,然后选择“新建作业” 。
在“新建作业步骤”页上,选择“SQL Server Integration Services 包”作为类型 。
在“包”选项卡上:
对于“包位置”,选择“文件系统” 。
对于“文件源类型”:
如果包是上传到 Azure 文件存储,请选择“Azure 文件共享”。
包路径为
\\<storage account name>.file.core.chinacloudapi.cn\<file share name>\<package name>.dtsx
。在“包文件访问凭据”下,输入 Azure 文件帐户名和帐户密钥,用于访问 Azure 文件。 域设置为 Azure。
如果包是上传到网络共享,请选择“网络共享”。
包路径是带有 .dtsx 扩展名的包文件的 UNC 路径。
输入相应的域、用户名和密码,用于访问网络共享包文件。
如果包文件是使用密码加密的,请选择“加密密码”并输入密码。
在“配置”选项卡中,如果需要通过配置文件来运行 SSIS 包,请输入配置文件路径。 如果将配置存储在 Azure 文件存储中,则其配置路径为
\\<storage account name>.file.core.chinacloudapi.cn\<file share name>\<configuration name>.dtsConfig
。在“执行选项”选项卡中,可以选择是要使用 Windows 身份验证还是 32 位运行时来运行 SSIS 包 。
在“日志记录”选项卡中,可以选择日志记录路径和相应的日志记录访问凭据来存储日志文件。 默认情况下,日志记录路径与包文件夹路径相同,日志记录访问凭据与包访问凭据相同。 如果将日志存储在 Azure 文件存储中,则日志记录路径为
\\<storage account name>.file.core.chinacloudapi.cn\<file share name>\<log folder name>
。在“设置值”选项卡上,可以输入“属性路径”和“值”来替代包属性。
例如,若要替代用户变量的值,请按以下格式输入其路径:
\Package.Variables[User::<variable name>].Value
。选择“确定”以保存代理作业配置。
启动代理作业以运行 SSIS 包。
运行包存储中的 SSIS 包
注意
Azure Synapse 中的 Azure-SSIS IR 不支持包存储。
在此过程中,将使用 SQL 托管实例代理来运行存储在 Azure-SSIS IR 包存储中的 SSIS 包。
在最新版 SSMS 中,连接到 SQL 托管实例。
创建新的代理作业和新的作业步骤。 在“SQL Server 代理”下,右键单击“作业”文件夹,然后选择“新建作业” 。
在“新建作业步骤”页上,选择“SQL Server Integration Services 包”作为类型 。
在“包”选项卡上:
对于“包位置”,选择“包存储” 。
对于“包路径”:
包路径为
<package store name>\<folder name>\<package name>
。如果包文件是使用密码加密的,请选择“加密密码”并输入密码。
在“配置”选项卡中,如果需要通过配置文件来运行 SSIS 包,请输入配置文件路径。 如果将配置存储在 Azure 文件存储中,则其配置路径为
\\<storage account name>.file.core.chinacloudapi.cn\<file share name>\<configuration name>.dtsConfig
。在“执行选项”选项卡中,可以选择是要使用 Windows 身份验证还是 32 位运行时来运行 SSIS 包 。
在“日志记录”选项卡中,可以选择日志记录路径和相应的日志记录访问凭据来存储日志文件。 默认情况下,日志记录路径与包文件夹路径相同,日志记录访问凭据与包访问凭据相同。 如果将日志存储在 Azure 文件存储中,则日志记录路径为
\\<storage account name>.file.core.chinacloudapi.cn\<file share name>\<log folder name>
。在“设置值”选项卡上,可以输入“属性路径”和“值”来替代包属性。
例如,若要替代用户变量的值,请按以下格式输入其路径:
\Package.Variables[User::<variable name>].Value
。选择“确定”以保存代理作业配置。
启动代理作业以运行 SSIS 包。
取消 SSIS 包执行
若要从 SQL 托管实例代理作业中取消包执行,请执行以下步骤,而不是直接停止代理作业:
从 msdb.dbo.sysjobs 中找到 SQL 代理的 jobId 。
使用以下查询,基于作业 ID 查找相应的 SSIS executionId:
select * from '{table for job execution}' where parameter_value = 'SQL_Agent_Job_{jobId}' order by execution_id desc
如果 SSIS 包位于 SSISDB 中,则使用 ssisdb.internal.execution_parameter_values 作为作业执行表。 如果 SSIS 包位于文件系统中,则使用 ssisdb.internal.execution_parameter_values_noncatalog。
右键单击 SSISDB 目录,然后选择“活动操作”。
基于 executionId 停止相应的操作。
相关内容
还可以使用 Azure 数据工厂来计划 SSIS 包。 有关分步说明,请参阅 Azure 数据工厂事件触发器。