SQL 可用性組
我有一個關於 SQL 標準可用性組的問題。我目前有一個具有一個主副本和一個輔助副本的 AG 設置。我正在使用同步送出,但對非同步感到好奇。次要副本將/可以落後多遠?如果輔助副本因任何原因下線,它會在上線後完全趕上嗎?二級能下降多長時間才趕不上?我了解這兩種送出類型之間的區別(一種在交回應用程序之前驗證事務是否已送出,而另一種送出類型則沒有)。我不確定在非同步送出類型中輔助節點可以離線多長時間。
次要副本將/可以落後多遠?
這取決於許多因素。2 個節點之間的網路速度,輔助節點上的磁碟速度,正在傳輸的數據量。其中許多 KPI 位於 AG 概覽儀表板中(右鍵點擊 SSMS 中的 AG 並選擇“顯示儀表板”)。您可以選擇一系列不同的指標,包括日誌發送隊列、日誌重做隊列、估計的恢復時間、估計的數據失去等。正如下面來自 scsimon 的評論中所述,當處於非同步狀態時,輔助節點並不是每個都真正“趕上” ‘。它將始終顯示“正在同步..”狀態而不是“已同步”。
如果輔助副本因任何原因下線,它會在上線後完全趕上嗎?
是的。另外值得注意的是,在您的輔助副本不可用/斷開連接期間,您將無法從日誌中備份任何尚未發送到輔助副本的事務。在 sys.databases 中,列 log_reuse_Wait_desc 將填充“AVAILABILITY REPLICA”,因為除非在輔助節點上送出事務,否則無法刷新事務。
二級能下降多長時間才趕不上?
中學不會只是“趕不上”。如果您關閉輔助節點(不從 AG 中刪除它),日誌備份不會刷新事務,日誌文件將填滿,然後您將用完空間,導致任何未來事務失敗。輔助伺服器的停機時間很大程度上取決於您擁有多少空間以及您的事務量。輔助節點恢復後,它將開始應用在它關閉時發生的事務。我已經看到這需要幾分鐘到幾個小時。
對於短暫的中斷/修補,讓輔助副本保持連接很好,但如果您正在查看長時間的中斷,則刪除輔助副本可能更容易,而不必擔心日誌文件填滿的麻煩。然後,一旦中斷完成,您只需將 DB 重新初始化到 AG 中。