控制同步期间触发器和约束的行为(复制 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 选项。

另请参阅

创建表(数据库引擎)