Sql-Server

與 DB 正常執行時間相關的估計恢復時間和 REDO 隊列大小

  • June 6, 2021

有人可以幫我弄清楚我對以下內容的理解是否正確:

在我的可讀輔助副本的 AG 儀表板上,我看到:

  • 預計恢復時間(秒) - 4598
  • REDO 隊列 - 將近 24 GB

那麼,如果我的輔助 AG 需要作為活動的一部分進行節點/故障轉移或 SQL 重新啟動,這到底意味著什麼?

這是否意味著我的輔助將需要 4598 秒才能使用重做隊列 24 GB 來啟動這個數據庫?

我很擔心,因為我們的 prod sec 方面的大部分時間在白天重做大小為 400 GB 和從 AG 儀表板恢復時間近 10 小時。這是否意味著所謂的 DR 受到損害?


我剛剛進行了測試故障轉移,正如我從錯誤日誌消息中看到的那樣,DB 進行了恢復,並看到它在 1235 秒內完成。只是好奇,因為估計恢復的數量還很遙遠。這只是為了解釋我的業務使用者幫助他們我們正在談論什麼中斷視窗。

估計恢復時間是 SQL Server 認為執行恢復過程所需的時間,以使數據庫進入可讀寫、可用狀態。4600 秒是很長的時間。你應該擔心。

REDO 隊列是需要重播到輔助數據庫以使數據庫作為主數據庫聯機的數據量。24GB很多。

公司的恢復點和恢復時間目標是什麼?這兩個指標會告訴您那些預計恢復時間和重做隊列是否有問題。

來自微軟的文件

對於輔助數據庫(DB_sec),其 RTO 的計算和顯示基於其 redo_queue_size 和 redo_rate:

在此處輸入圖像描述

RTO的計算公式為:

在此處輸入圖像描述

顯然,重做率(可以恢復的速度)是決定輔助節點作為主節點聯機的速度的決定性因素。

如果底層磁碟的速度可能會波動,就像質量較低的 HDD 或云服務一樣,您可能會得到一個無法反映現實的估計值。

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