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

適用於: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 選項。

另請參閱

建立資料表 (Database Engine)