Sql-Server

從 SQL Server 中保存的備份估計最佳還原時間

  • February 26, 2022

我正在尋找有關如何估計 SQL Server 數據庫在本地複製到伺服器後的還原時間的指導和任何建議。

這只是為了製定一個策略,如果將來我的 SQL Server 受到威脅,將會發生什麼。我們已經到了 SQL Server 可用的地步,是時候恢復這些數據庫了。假設備份是有效的,我試圖找到一種方法,如果我們能真正告訴或做一個最佳估計,為這些備份提供從備份中恢復的時間表。

我在https://www.brentozar.com/archive/2021/12/check-your-sql-server-backup-performance-safety-with-sp_blitzbackups/中找到了 RTOWorstCaseMinutes,但不確定它是否真的意味著我是什麼尋找。

如果有更好的方法來解決這個問題,請提出建議。

如果您使用 SSMS 恢復備份,它會提供一個帶有完成百分比的進度條,您可以從中粗略估計整體執行時間。例如:

SSMS 恢復數據庫進度 引用自SQL Server 最佳實踐:監控備份和還原進度

或者,我通常發現Adam Machanicsp_WhoIsActive能夠從適當的系統目錄實體中提取進度指標以進行備份操作。除了到目前為止的總執行時間之外,它還提供了此類操作的估計剩餘時間列。

最後,如果您編寫備份還原腳本而不是使用 SSMS 還原數據庫 UI,則“消息”選項卡還將為您提供有關還原進度的更新資訊。

關於您在評論中的後續說明,我認為在實際執行之前無法準確預測恢復**在實踐中需要多長時間,因為它將取決於您要恢復到的伺服器背後的硬體。這主要受磁碟 I/O 的約束,但 CPU 也與解壓縮備份有關,當然恢復時伺服器的整體繁忙程度也會發揮作用。

您最好的選擇是定期恢復您的備份(無論如何您都應該這樣做以驗證它們沒有損壞)並創建它們通常需要多長時間才能恢復的基線。

First Responder Kit 中的 RTOWorstCaseMinutes 將是您的最佳選擇。沒有真正的方法可以預測恢復備份需要多長時間,直到您真正嘗試恢復它並記錄它需要多長時間。

所有 RTOWorstCaseMinutes 確實在查看恢復所需的最新備份需要多長時間。有根據的猜測是,如果需要 4 個小時來進行完整備份和多個日誌備份,那麼將它們全部恢復可能需要相似的時間。

這是文件中所說的……

RTOWorstCaseMinutes – 您進行恢復並重新上線所需的最長時間。假設您每晚進行一次完整備份,並每 15 分鐘記錄一次備份。您最糟糕的 RTO 情況是,如果伺服器在每晚完整備份之前發生故障,因為您必須恢復前一天的完整備份以及全天的事務日誌備份。為了計算這個數字,我們計算了所有這些備份所花費的總備份時間。從技術上講,這是不准確的,因為您的恢復可能需要比備份更長的時間,特別是由於事務日誌中缺少即時文件初始化。不過,這只是給你一個粗略的起點想法。

如果您只想將相同的邏輯應用於單個備份,只需檢查進行該備份需要多長時間。

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