2010-01-28 133 views
0

我們希望使用更改跟蹤來實現SQL Server 2008 Enterprise/Standard實例和Express 2008實例之間的雙向同步。SQL Server 2008更改跟蹤

當我們讀取遠程更改,然後在本地服務器上進行調整時,我們如何保持這些語句不被更改跟蹤?我預見一臺服務器會無限循環跟蹤更改,然後另一臺服務器進行更改並跟蹤更改,另一臺服務器進行更改等。

在執行同步操作時禁用對該表的更改跟蹤可能會漏掉該表格上其他進程的變化,所以我不認爲這是答案。

有沒有辦法在每個語句或每個事務的基礎上禁用更改跟蹤?

編輯:我發現了WITH CHANGE_TRACKING_CONTEXT命令,所以我可以使用它來指定更改由同步代碼執行的時間,以便同步代碼本身不會選擇它們並使用它們。

回答

1

更改跟蹤並非真正用作雙向複製。您應該找出一些方法來確定實際進行更改的實例,然後您的「複製」代碼應該能夠確保複製服務器上更改的行不會再次包裝回原始服務器。

+0

實際上,我們使用了更改跟蹤,並且只是讓同步過程添加了不同的上下文,以便我們可以確定哪些更改是同步更改或原始更改。到目前爲止,它工作得很好。 – Matt 2010-02-04 23:16:18