azure-data-factory - Azure Data Factory V2 - 调用返回多个结果集的存储过程

标签 azure-data-factory azure-data-factory-2

我想创建一个 ADF v2 管道来调用 Azure SQL 数据库中的存储过程。存储过程有输入参数并会返回多个结果集(大约 3 个)。我们需要把它提取出来。我们正在尝试加载到 4 个不同文件的 Blob 存储或加载到表。

有没有办法在流水线中执行?

在 SSIS 中有使用脚本组件和提取的选项。 https://www.timmitchell.net/post/2015/04/27/the-ssis-object-variable-and-multiple-result-sets/

在数据工厂中寻找建议。

最佳答案

您无法在 Azure 数据工厂 (ADF) 中轻松完成此操作,因为存储过程事件根本不支持结果集,而复制事件也不支持多个结果集。但是,通过一些小的更改,您可以获得相同的结果:您有几个选择:

  1. 如果代码和 SSIS 包已经存在并且您希望尽量减少重构,您可以通过 SSIS-IR 将其托管在 ADF 中
  2. 也许您可以使用大致相当于 SSIS 脚本任务的 Azure 函数来完成此操作,但对我来说这似乎有点浪费时间。这是一个未经证实的模式,您有更简单的选择,例如:
  3. 将存储过程分解成多个部分:让它处理数据而不返回任何结果集。更改 proc 以将三个结果集放在表中。有多个并行运行的复制事件,在主存储过程事件完成后将数据复制到 blob 存储,如下所示:

ADF Pipeline

也可以欺骗 Lookup 事件为您运行存储过程,但输出限制为 5,000 行,并且您不能随后将其通过管道传输到 Copy 事件。我会推荐选项 3,它只需对您的过程进行一些更改即可获得相同的结果。

关于azure-data-factory - Azure Data Factory V2 - 调用返回多个结果集的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66956855/

相关文章:

azure - 在 Azure 数据工厂中使用动态日期筛选器查询 SQL 表(Azure 突触分析)

azure - 如何在 azure 数据工厂管道中添加验证来检查文件大小?

azure - 在 Azure Synapse 中并行作业运行期间避免重复

azure-data-lake - 是否可以将系统分配的托管服务标识添加到 AAD 组?

azure-sql-database - 使用 Azure 数据工厂将数据加载到 Snowflake 时遇到问题

powershell - Azure 数据工厂在发布时禁用触发器

azure-data-factory - 如何在 ADF 中调度 U-SQL 过程?

Azure 数据工厂 - 重试插入复制事件 (Azure SQL DB)

azure-data-factory - 在 Azure 数据工厂中转换数据类型

sql-server - 如何使用复制事件中的预复制脚本根据源中的更改跟踪表删除接收器中的记录?