2015-10-08 34 views
0

我們已經有了一個運行了近一年的雙節點對等(P2P)複製設置,但由於某種原因,它最近被標記爲非活動強制我們重新構建它。不幸的是,無論我如何重新構建它,我總是收到相同的錯誤。由於缺少sp_MS *存儲過程導致點對點複製失敗

基本上一旦配置了P2P,它就會立即失敗,因爲它找不到一些自動創建的「sp_MS [upd | ins | del] *******」存儲過程。在做一些調查(並直接從sys.procedures中選擇)時,我發現這些存儲過程僅在數據庫成爲P2P節點的訂戶時創建,與事務複製類似。由於P2P中的每個數據庫都是發佈者和訂閱者,因此它們缺失的事實是奇怪的,特別是考慮到它在一個數據庫中成功完成此操作,而不是其他數據庫。看起來,其中一個數據庫沒有被設置爲訂戶,但我沒有收到任何錯誤或指示(事實上Management Studio確實顯示兩個訂閱)。我嘗試了幾乎所有我能想到的事情,更改首先配置哪個數據庫,完全禁用分配並重新創建它等,但仍然沒有運氣。

有沒有其他人遇到過這個問題,或者有沒有人有什麼建議,我應該看看下一步嘗試?

在此先感謝!

+0

任何時候我不得不這樣做,我只是使用SSMS。 https://technet.microsoft.com/en-us/library/ms152536%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396。但是,如果您從頭開始,我會確保通過sp_removedbreplication刪除所有複製痕跡。 – Greg

+0

這就是我已經嘗試過,也使用sp_removedbreplication。它看起來與https://support.microsoft.com/en-us/kb/2931001非常相似,但應該在我使用的版本中修復。 – Brock

+0

你使用的是什麼版本的SQL? – Greg

回答

-1

問題是,在新節點上恢復之前,已經修改了從P2P獲取的數據庫。即使使用指定已發生更改的選項時,也會發生這種情況,這可能是一個錯誤。 「解決方案」是爲了確保在複製恢復並運行之前,原始數據塊在處完全沒有被修改

相關問題