同期中にトリガと制約の動作を制御する方法 (レプリケーション Transact-SQL プログラミング)
更新 : 2006 年 4 月 14 日
同期中、レプリケートされるテーブルでは、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 オプションを指定します。
参照
その他の技術情報
テーブルの作成と変更
NOT FOR REPLICATION を使用した制約、ID、およびトリガの制御