私は数年以来、3 つの場所で sql-server2000 マージ レプリケーションを行っています。トリガーは、このデータベースで多くの作業を行います。私は何の問題もありません。
これらのデータベースを新しい sql2008 に移行したところ、トリガーに関する問題がいくつか発生しました。マージエージェントが自分の仕事をしていても、彼らは発砲しています。
sql2008-serverでそのようなことを経験した人はいますか? sql2000とは異なる動作を確認できる人はいますか?
平和
氷
私は数年以来、3 つの場所で sql-server2000 マージ レプリケーションを行っています。トリガーは、このデータベースで多くの作業を行います。私は何の問題もありません。
これらのデータベースを新しい sql2008 に移行したところ、トリガーに関する問題がいくつか発生しました。マージエージェントが自分の仕事をしていても、彼らは発砲しています。
sql2008-serverでそのようなことを経験した人はいますか? sql2000とは異なる動作を確認できる人はいますか?
平和
氷
これを読んでください:NOT FOR REPLICATIONによる制約、アイデンティティ、およびトリガーの制御
ほとんどの場合、既定の設定が適切ですが、アプリケーションで別の動作が必要な場合は変更できます。考慮すべき主な領域はトリガーです。たとえば、NOT FOR REPLICATION オプションを設定して挿入トリガーを定義すると、すべてのユーザー挿入によってトリガーが起動されますが、レプリケーション エージェントからの挿入では起動されません。追跡テーブルにデータを挿入するトリガーを考えてみましょう。ユーザーが最初に行を挿入するとき、トリガーが起動して追跡テーブルに行を入力するのは適切ですが、そのデータがサブスクライバーにレプリケートされるときはトリガーを起動しないでください。これは、トラッキング テーブルに不要な行が挿入されるためです。