0

Change Tracking を使用して、SQL Server 2008 Enterprise/Standard インスタンスと Express 2008 インスタンス間の双方向同期を実装したいと考えています。

リモートの変更を読み取り、ローカル サーバーで調整を行う場合、それらのステートメントが追跡されないようにするにはどうすればよいでしょうか? あるサーバーが変更を追跡し、次に別のサーバーが変更を行い、変更も追跡し、別のサーバーが変更を行うという無限ループを予見します。

同期操作の実行中にそのテーブルで変更追跡を無効にすると、そのテーブルの他のプロセスからの変更が見逃される可能性があるため、それが答えだとは思いません。

ステートメントごとまたはトランザクションごとに変更追跡を無効にする方法はありますか?

編集: WITH CHANGE_TRACKING_CONTEXT コマンドを発見したので、それを使用して、同期コードによって変更がいつ実行されるかを指定し、同期コード自体がそれらを取得して使用しないようにすることができるかもしれません。

4

1 に答える 1

1

Change Tracking は、双方向のレプリケーションとして使用することを意図したものではありません。変更が実際に行われたインスタンスを特定する何らかの方法を見つけ出す必要があります。次に、「レプリケーション」コードで、レプリケートされたサーバーで変更された行が元のサーバーに再び戻らないようにする必要があります。

于 2010-01-28T19:02:59.943 に答える