同期中にトリガーと制約の動作を制御する (レプリケーション Transact-SQL プログラミング)
同期中、レプリケーション エージェントは、レプリケートされたテーブルに 対して INSERT (Transact-SQL)、 UPDATE (Transact-SQL)、 DELETE (Transact-SQL) ステートメントを実行します。これにより、これらのテーブルでデータ操作言語 (DML) トリガーが実行される可能性があります。 同期中はこれらのトリガーが起動しないようにしたり、制約が適用されないようにすることが必要になる場合があります。 このときの動作は、トリガーまたは制約がどのように作成されたかによって異なります。
同期中にトリガーが実行されないようにするには
新しいトリガーを作成する場合は、 CREATE TRIGGER (Transact-SQL) の NOT FOR REPLICATION オプションを指定します。
既存のトリガーの場合は、 ALTER TRIGGER (Transact-SQL) の NOT FOR REPLICATION オプションを指定します。
同期中に制約が適用されないようにするには
- 新しい CHECK 制約または FOREIGN KEY 制約を作成する場合は、 CREATE TABLE (Transact-SQL) の制約定義で CHECK NOT FOR REPLICATION オプションを指定します。