同期のトリガーと制約の動作を制御する
適用対象: SQL Server Azure SQL Managed Instance
同期中、レプリケートされるテーブルでは、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 オプションを指定します。