2010-05-26 92 views
0

背景資料
比方說,我有兩個數據庫服務器,無論是SQL Server 2008的
一個是在我的局域網(ServerLocal),另一種是在遠程主機環境( ServerRemote)。SQL Server複製:快照VS合併

我已經在ServerLocal上創建了一個數據庫,並且在ServerRemote上有該數據庫的確切副本。 ServerRemote上的數據庫是Web應用程序的一部分,我想通過數據庫ServerLocal中的數據使其數據保持最新。

ServerLocal能夠與ServerRemote進行通信,這是單向通信。從ServerRemote到ServerLocal的通信不可用。

目前的解決方案
我認爲這將是一個很好的解決方案,以使用複製。所以我讓ServerLocal成爲發佈者,訂閱被推送到ServerRemote。這可以正常工作,當快照傳輸到ServerRemote時,現有數據將被清除,並且ServerRemote數據庫再次成爲ServerLocal上數據庫的精確副本。


記錄上ServerRemote存在不上ServerLocal存在被刪除的問題。這對我的大部分表格都沒有影響,但在我的一些表格中,我希望保留現有數據(例如aspnet_users),並在必要時更新記錄。

什麼樣的複製適合我的問題?

回答

0

選項C:事務複製。

我已經在訂閱數據庫中有數據並且不希望被快照覆蓋之前完成此操作。您可以將您的初始快照設置爲不刪除現有記錄,或者不創建發佈者中的記錄(假設他們在那裏)或創建發佈者中的記錄(假設他們不在那裏)。

看看你的情況會是正確的,或留下評論,關於如何在用戶最初獲取數據的更多細節。我對aspnet_users不太熟悉,那是什麼。如果您不希望訂閱服務器中的數據返回到發佈服務器,則事務複製只會有所幫助。如果你想要,你必須做合併複製。