Sql-Server

數據庫鏡像中的未發送日誌行為

  • January 8, 2018

需要您對以下工作方式的建議。

情況:我們在 Principal 上的未發送日誌卡住了將近 10 個小時,未發送數據大約 200 GB。

行動:暫停並恢復鏡像。這擺脫了卡住的鏡像。現在所有 200 GB 都發送到鏡像並嘗試恢復。但是當新交易出現在主體上時,我再次看到記錄或鏡像似乎卡住了,顯示發送速率為 0 KB/秒。

所以我的問題是,這是否會發生並阻止 P 上未發送的日誌,直到所有之前的 200 GB 都在 Mirror 上恢復,或者這裡可能存在不同的問題?如果鏡像仍在同步,我們可以再次暫停和恢復鏡像嗎?

請建議

所以我的問題是,這是否會發生並阻止 P 上未發送的日誌,直到所有之前的 200 GB 都在 Mirror 上恢復,或者這裡可能存在不同的問題?如果鏡像仍在同步,我們可以再次暫停和恢復鏡像嗎?

您可能遇到網路問題。鏡像的暫停和恢復應該只是您的解決方法。

請與您的網路管理員核實您的網路頻寬和延遲(與其他應用程序共享網路?1Mbps NIC?)。這會增加您Unsent Log的數據庫鏡像的性能,並可能對性能產生不利影響。200GB 是巨大的數據量。您可能會失去 200GB 數據。你不希望這種情況發生。考慮為 設置門檻值警報Log Send Queue KB。如果達到 1GB,請發送電子郵件警報並採取措施。這樣,您可以最大限度地減少數據失去。

閱讀此知識庫文章,了解在 SQL Server 中設置數據庫鏡像時要考慮的事項。關於網路的兩個主要要點:

為了減輕網路延遲對數據庫鏡像吞吐量的影響,您應該考慮以下幾點:

  • 千兆網卡
  • 用於鏡像的專用 NIC。

不要等待 10 小時或 200GB 的未發送數據,設置警報並積極主動。

此外,考慮遷移/升級到 SQL Server 2016/2017。使用可用性組(比鏡像更好並且更快),因為數據庫鏡像現在已被 Microsoft 棄用,您將無法從它們那裡獲得支持或更新(除非您為擴展支持付費)。如果您遇到數據庫鏡像錯誤,Microsoft 不太可能為您修補它。您可以在此處閱讀 SQL Server 2008生命週期支持

引用自:https://dba.stackexchange.com/questions/194851