控制同步處理中觸發程序和條件約束的行為

適用於:SQL ServerAzure SQL 受控執行個體

在同步過程中,複製代理會在複製的資料表上執行 INSERT (Transact-SQL)UPDATE (Transact-SQL)DELETE (Transact-SQL) 語句,這些指令可能會在這些資料表上執行資料操作語言(DML)觸發條件。 在某些情況下,您可能需要在同步期間防止這些觸發程序被觸發,或防止這些約束被強制執行。 這個行為取決於觸發程序或條件約束的建立方式而定。

在同步處理期間避免觸發程序的執行

  1. 建立新觸發器時,請指定 (Transact-SQL) 中的 NOT FOR REPLICATION 選項CREATE TRIGGER

  2. 對於現有的觸發器,請指定 NOT FOR REPLICATION 選項 ALTER TRIGGER (Transact-SQL)

避免在同步期間強制執行約束

  1. 在建立新的 CHECK 或 FOREIGN KEY 約束時,請在 (Transact-SQL) 的限制定義CREATE TABLE中指定 CHECK NOT FOR REPLICATION 選項。