數據庫鏡像中的未發送日誌行為
需要您對以下工作方式的建議。
情況:我們在 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生命週期支持。