簡體   English   中英

SQL 復制丟失事務

[英]SQL Replication Lost Transactions

首先,我的 SQL Server 復制知識不是很多,所以如果我到目前為止遺漏了任何明顯的東西,我深表歉意!

我有一個包含 9 個合並復制訂閱者的主數據庫,所有訂閱者現在都運行良好。 我最近收到了一張支持票,其中一個訂閱者的數據有一天看起來有點“過時”,所以客戶重新啟動了 SQL Server,一切似乎都“趕上了”,但是在用戶執行之前下的訂單重啟好像已經丟失了。

我查看了錯誤日志,確實在重置發生之前似乎確實存在復制問題“進程無法連接到訂閱者”-這似乎已由用戶執行重新啟動修復消息很快就停止出現,但是我不知道訂單是如何丟失的。

我很想將其作為用戶錯誤(錯誤處理的訂單/連接到測試數據庫等)來傳遞,但是在復制似乎無法正常工作的期間有一大塊丟失的日志數據,這表明數據確實丟失了。

我的理解是,在問題期間未復制的任何事務都將存儲在訂閱者處,然后在重新建立連接后進行復制。 所有有問題的訂閱者都有定期不可靠的網絡連接,我們經常看到這些錯誤出現,但我們以前從未丟失過數據 - 它最終總是會傳播。

有什么方法可以進一步調查並理想地恢復數據? 我真的不想去找客戶,只是告訴他們數據丟失了,並且可能會再次發生。

NB 數據以前已經丟失,但是只有在重新初始化發生並且“上傳更改”選項丟失時才丟失,但是在這種情況下,沒有重新初始化發生(至少不是我所知道的 - 有什么辦法可以告訴我當然?)。

@Gavimoss - 我知道這有點晚了,但我遇到了類似的情況,並且能夠通過生成新快照來修復它。

我右鍵單擊缺少事務的出版物並選擇“重新初始化所有訂閱”。 然后在該彈出窗口中,我選擇了“使用新快照”選項和“立即生成新快照”,然后單擊“標記為重新初始化”。

這樣做之后,下次復制運行時,它會獲取所有數據並進行復制。 復制需要更長的時間,因為它基本上是擦除所有內容並使用所有數據重建表,但它起作用了。

希望這會幫助接下來遇到這個問題的人,並防止我在過去幾天中經歷的搜索時間!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM