同步中触发器和约束的控制行为

适用于:SQL ServerAzure SQL 托管实例

在同步期间,复制代理对复制表执行 INSERT (Transact-SQL)UPDATE (Transact-SQL)DELETE (Transact-SQL) 语句,这可能导致执行这些表上的数据操作语言 (DML) 触发器。 有些情况下,可能需要在同步期间防止这些触发器触发或防止约束被强制执行。 此行为取决于触发器或约束的创建方式。

防止触发器在同步期间执行

  1. 创建新触发器时,请指定 CREATE TRIGGER (Transact-SQL) 的 NOT FOR REPLICATION 选项。

  2. 对于现有触发器,请指定 ALTER TRIGGER (Transact-SQL) 的 NOT FOR REPLICATION 选项。

防止约束在同步期间被强制执行

  1. 创建新 CHECK 或 FOREIGN KEY 约束时,请在 CREATE TABLE (Transact-SQL) 的约束定义中指定 CHECK NOT FOR REPLICATION 选项。

另请参阅

创建表(数据库引擎)