Sql-Server

我可以使用我目前的備份策略將我的 SQL Server 數據庫恢復到上次完整備份之前的某個時間點嗎?

  • June 17, 2021

如果我有這個備份策略(每週完整備份和 1 小時日誌備份),我可以將數據庫恢復到綠色突出顯示的時間段嗎?順便說一句,日誌備份 2 是否包括其 lsn 大於日誌備份 1 的 last_lsn 的所有日誌記錄?

在此處輸入圖像描述


我又做了一些測試,我想我找到了答案。根據備份計劃中的圖像,我進行了初始完整備份,一些日誌備份,然後是日誌備份 1,完整備份,日誌備份 2。我在中間進行了修改。用於RESTORE HEADERONLY檢查日誌備份1,完整備份和日誌備份2,以下是我得到的。如您所見,日誌備份 2 擷取了日誌備份 1 中最後一條的所有日誌記錄。如果我想恢復到綠色突出顯示的時間點,我需要使用日誌備份 2,而不是完整的備份。

在此處輸入圖像描述

是的,您可以進行時間點還原。

您將需要最後一次完整備份和所有日誌備份,因為日誌備份包含所有較早的日誌(它們在某種意義上是增量的,而不是差異的)。

**對於繁忙數據庫上一周的日誌,可能需要一些時間來恢復。**因此,更好的解決方案(如果您想堅持每週完整)是每天或每天兩次進行差異備份。

這意味著您只需要最後一次完整備份、最後一次 diff 備份,以及您想要恢復的所有日誌。


許多伺服器上相當標準的備份週期是:每天完整,每天 4-6 次,每隔幾分鐘記錄一次。這提供了相當快的恢復時間。這也意味著更重要的是,您的最大數據失去永遠不會超過幾分鐘,而不是長達一個小時。

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