同期中にトリガーと制約の動作を制御する (レプリケーション 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 オプションを指定します。

同期中に制約が適用されないようにするには

  • CHECK 制約または FOREIGN KEY 制約を新たに作成する場合は、CREATE TABLE (Transact-SQL) の制約定義で、CHECK NOT FOR REPLICATION オプションを指定します。

関連項目

概念

テーブルの作成 (データベース エンジン)