複製中發布伺服器和訂閱伺服器內容不一致的解決辦法

2022-01-17 04:39:00 字數 1408 閱讀 4414

在事務複製的過程中,有時候會由於各種各樣的原因導致發布伺服器和訂閱伺服器的資料不一致,造成這種情況往往是由於以下幾種原因之一:

上面三種情況是最常見的導致發布端和訂閱端資料不一致的原因,其中第三種原因往往出現的最多,在這種情況下,通常來說,可以通過重新初始化訂閱來解決該問題,但對於比較大的訂閱來說,或者發布和訂閱之間相隔太遠而造成網路寬頻的問題,則重新初始化訂閱就不是那麼吸引人的提案了。因此通過資料對比分析工具來比對有差異的資料,並僅僅更新那些和源不同步的資料則是更好的選擇。

這類工具包括類似redgate和xsql的資料對比工具,也可以使用visual studio自帶的資料對比工具進行,下面我通過乙個簡單的demo來展示如何解決該類問題。

目前我已經建立好乙個發布伺服器和訂閱伺服器,發布伺服器careyson-sql發布了示例資料庫adventureworks的salesorderdetail整張表,訂閱伺服器sqlazur\sql2012訂閱了該錶,如圖1所示。

圖1.基本的複製資訊

此時,我在訂閱伺服器人為的刪除資料,造成發布伺服器和訂閱伺服器的資料不一致,如圖2所示。

圖2.在訂閱端手動刪除資料,造成不一致

我們再來服務端驗證訂閱,如圖3所示。

圖3.驗證訂閱

在複製監視器中,可以看到,在訂閱伺服器刪除的一條資料導致了驗證訂閱出現不同步的提示,如圖4所示。

圖4.訂閱已經不再同步

為了修正該問題,我們可以通過visual studio的資料庫專案來建立資料對比分析任務來找到缺失的資料,從而根據發布端更新訂閱端,如圖5所示。

圖5.找出被刪除的資料

然後我們點選"更新目標",則被刪除的資料會由發布端同步到訂閱端。如圖6所示。

圖6.目標資料庫已經更新

我們再次進行驗證訂閱,顯示已經通過訂閱,如圖7所示。

圖7.更新訂閱端後,訂閱通過驗證

訊息發布 訂閱伺服器 Laharsub

laharsub是一種構建在三層架構之上的發布 訂閱訊息伺服器 前端 客戶端,中間層 web服務,後端 帶有發布 訂閱功能和儲存能力的系統。客戶端一般是瀏覽器,但是可以是所有已知能夠做出http請求的程式。中間層是一種wcf的http服務,它會從客戶端接收訊息,並向其傳送訊息,而後端會包含真正的與訊...

linux ftp伺服器和svn伺服器

問問題 使用vsftpd linux 架設的ftp伺服器,如何解決向其中拷貝多層資料夾的檔案時出現的550錯誤?然後寫部落格 只研究技術的就不要看了 因為要為我的本本重灌系統,並且要重新對整個硬碟進行分割槽,我開始往我的實驗室中的電腦上備份東西 因為我的實驗室的電腦上是linux系統,我於是選擇使用...

web伺服器和ftp伺服器

web伺服器又稱網路伺服器,http伺服器 伺服器的精髓就是你想在我這看到東西,裡面放一堆網頁,你向我傳送請求,我就找找找,把網頁給你。web伺服器使用的協議是http https 客戶機叫http客戶端 瀏覽器就叫http客戶端 8uftp就叫ftp客戶端 每天都獲取位址,電腦上有dhcp客戶端 ...