事务复制和触发器

发布于 2024-08-22 19:53:06 字数 125 浏览 3 评论 0原文

假设 ServerA.TableA 被复制(通过事务复制)到 ServerB.TableA。如果 ServerB.TableA 上存在一个在插入或更新行时触发的触发器,那么当从 ServerA.TableA 复制行时该触发器是否会触发?

Say ServerA.TableA is replicated (via Transactional Replication) to ServerB.TableA. If a trigger existed on ServerB.TableA that fired when a row was inserted or updated, would the trigger fire as rows are replicated from ServerA.TableA?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煞人兵器 2024-08-29 19:53:07

这取决于触发器是如何创建的。 CREATE/ALTER TRIGGER 语句支持NOT FOR REPLICATION 子句:

NOT FOR REPLICATION 表示
不应执行触发器
当复制代理修改
触发器涉及的表。请参阅通过 NOT FOR REPLICATION 控制约束、标识和触发器。< /p>

It depends on how the trigger was created. CREATE/ALTER TRIGGER statements support the NOT FOR REPLICATION clause:

NOT FOR REPLICATION Indicates that
the trigger should not be executed
when a replication agent modifies the
table that is involved in the trigger. See Controlling Constraints, Identities, and Triggers with NOT FOR REPLICATION.

初心 2024-08-29 19:53:07

当从 ServerA.TableA 复制行时触发器会触发吗?

事务不是传送并应用到远程服务器(而不是行)吗?这会让我认为交易只是被应用,触发器实际上并未被触发,但结果被应用。

我不是这方面的专家——只是一个想法。

would the trigger fire as rows are replicated from ServerA.TableA?

Aren't the transactions shipped and applied to the remote server - not rows? This would lead me to think that the transactions are simply applied and the trigger is not actually fired, but the results are applied.

I'm no expert on this - just an idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文