有没有办法在“执行管道”活动中引用已执行管道的输出?
即:主管道依次执行 2 个管道。第一个管道生成一个自己创建的run_id,需要作为参数转发给第二个管道。
我已经阅读了文档并检查了主管道是否记录了第一个管道的输出,但看起来这不是直接可能的?
到目前为止,我们只使用了 2 个没有主管道的管道,但我们希望更多地重用逻辑。目前我们有 1 个管道调用下一个管道并转发 run_id。
我正在尝试使用更改跟踪将数据从 SQL Server 增量复制到 Azure SQL 数据库。我遵循了Microsoft Azure 文档上的教程,但是在为大量表实施此教程时遇到了一些问题。
在复制活动的源部分,我可以使用一个查询,该查询为我提供自上次更改跟踪版本以来更新、插入或删除的所有记录的更改表。这张桌子看起来像
PersonID Age Name SYS_CHANGE_OPERATION
---------------------------------------------
1 12 John U
2 15 James U
3 NULL NULL D
4 25 Jane I
Run Code Online (Sandbox Code Playgroud)
PersonID 是该表的主键。
问题是复制活动只能将数据附加到 Azure SQL 数据库,因此当记录更新时,由于主键重复,它会给出错误。我可以通过让复制活动使用将数据合并到 Azure SQL 数据库上的表的存储过程来处理这个问题,但问题是我有大量的表。
我希望预复制脚本删除 Azure SQL 数据库上已删除和更新的记录,但我不知道如何执行此操作。我是否需要为要复制的每个表创建单独的存储过程和相应的表类型,或者有没有办法让预复制脚本根据更改跟踪表删除记录?
sql-server azure-data-factory azure-sql-database azure-data-factory-2
我在 Azure 数据工厂中有一个管道设置,它有一个名为 MonthsBack 的管道变量设置,默认为 12。在Until 循环中,我构建了一个SQL 语句,该语句使用此MonthsBack 变量来生成SQL 语句,并且在循环中它还将值减1,并将这些SQL 语句附加到另一个集合变量中。在Until 块运行后,我有一个包含12 个SQL 语句的数组,然后在ForEach 块中使用它来执行这12 个语句并动态生成12 个存储在数据湖中的文件。这一切都很好,并且完全符合我的要求。
现在我有一个新的需求,而不是有 12 个 SQL 语句,我想要做的是将 MonthsBack 变量设置为等于 SQL 数据库中的某个值,所以理想情况下我会创建一个新的 DataSet 来查询和检索它值,然后使用它来设置 MonthsBack 数据库的默认值。我似乎无法弄清楚如何使用给定的任务完成此任务。
我知道我在“动态内容”窗格中看到了一种引用先前任务结果的方法,但我不记得我之前是如何做到这一点的。有人可以告诉我或指向我有关如何执行此操作的正确文档。谢谢