首页 > 解决方案 > 跨多个数据库的 Azure SQL 触发器

问题描述

这就是我想要完成的事情 - 我有一台服务器,说数据库 A 和数据库 B。我想在数据库 A 上设置一个触发器来监视表的创建。在创建表时,我想获取已创建表的部分数据(表模式每次都应相同)并将其放入数据库 B 上的特定表中。

我一直在尝试对此进行一些研究,我最初开始研究弹性查询以可能完成工作,但我开始认为这种方法可能行不通,因为弹性查询似乎是只读的。有没有我可以使用的类似方法,t-sql或者有没有我可能没有想到的方法?

标签: sqltsqlazure-sql-database

解决方案


如果表 A 有一个 TIMESTAMP / ROWVERSION 列,或者您可以向该表添加一个类似的列,那么您可以使用 Azure 逻辑应用来创建该触发器。逻辑应用有一个SQL 连接器,该连接器使用轮询机制使用 TIMESTAMP / ROWVERSION 列查询表的更改。这种数据类型是专门为 SQL 中的这种处理而设计的。轮询查询实质上选择所有行版本大于最后轮询值的行。该行为是可靠的,因为该列由 SQL Server 控制,并且在没有新数据的情况下性能非常快。当有新数据时,性能堪比简单的行查询。


推荐阅读