控制触发器和约束在同步过程中的行为(复制 Transact-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 选项。

另请参阅

创建表(数据库引擎)