交易記錄備份 (SQL Server)

適用於:SQL Server

本文涉及的對象僅限於使用完整或大量記錄復原模式的 SQL Server 資料庫。 本文說明 SQL Server 資料庫的交易記錄備份。

您至少要在建立任何記錄備份之前,必須建立一個完整備份。 之後,除非交易記錄已正在備份中,否則任何時候皆可以備份交易記錄。

建議您時常進行記錄備份,以將工作損失風險降至最低,同時也讓記錄能夠截斷。

一般而言,資料庫管理員有時會建立完整資料庫備份,例如每週一次;並且會選擇性地於較短的間隔建立一系列差異資料庫備份,例如每日一次。 除了資料庫備份之外,資料庫管理員會為交易記錄採取高頻率備份。 每種備份類型的最佳間隔取決於幾項因素,如資料的重要性、資料庫大小及伺服器負載。 如需實作良好策略的詳細資訊,請參閱這篇文章中的建議

記錄備份順序的運作方式

交易記錄備份 「記錄檔鏈結」 (Log chain) 的順序與資料備份無關。 例如,假設發生以下一連串事件:

Time 事件
8:00 AM 備份資料庫。
中午 備份交易記錄。
4:00 PM 備份交易記錄。
6:00 PM 備份資料庫。
8:00 PM 備份交易記錄。

在 8:00 PM 建立的交易記錄備份包含從 4:00 PM 到 8:00 PM 的交易記錄,橫跨 6:00 PM 建立的完整資料庫備份的時間。 交易記錄備份的順序是連續的,從 8:00 AM 建立的初始完整資料庫備份,到 8:00 PM 建立的最後一個交易記錄備份。 如需有關如何套用這些記錄備份的資訊,請參閱套用交易記錄備份 (SQL Server) 中的範例。

建議

如果異動記錄損毀,則最近一次有效備份之後所執行的工作都會遺失。 因此,我們強烈建議您將記錄檔存放於容錯的儲存體中。

若資料庫損毀或您準備還原資料庫時,建議您建立結尾記錄備份,使您可以將資料庫還原至目前的時間點。

警告

已知問題:對於具有經記憶體最佳化的資料表之資料庫,執行具有不復原功能的交易記錄備份,並稍後執行具有復原功能的交易記錄還原,此種做法可能會導致資料庫還原程序沒有回應。 此問題也會影響記錄傳送功能。 若要解決此問題,可以先重新啟動 SQL Server 執行個體再開始還原程序。

根據預設,每項成功的備份作業都會在 SQL Server 錯誤記錄檔與系統事件記錄檔中新增一筆輸入。 如果您經常備份記錄檔,這些成功訊息可能會快速累積,因而產生龐大的錯誤記錄檔,讓您難以尋找其他訊息。 在這類情況下,如果沒有任何指令碼相依於這些記錄項目,您就可以使用追蹤旗標 3226 來隱藏這些記錄項目。 如需詳細資訊,請參閱追蹤旗標 (Transact-SQL)

請經常進行充分的記錄備份來支援商務需求,特別是您對工作損失 (例如可能因損壞的記錄儲存體而引起) 的耐受性。

  • 進行記錄備份的頻率如何才適當,視您在工作損失風險的耐受性,與儲存、管理及可能還原記錄備份的容量之間所做的取捨而定。 請思考實作復原策略時所需的復原時間目標 (RTO) 和復原點目標 (RPO),特別是記錄備份步調。

  • 每 15 到 30 分鐘進行一次記錄備份可能就足夠了。 如果您的業務需要將工作損失風險減至最低,請考慮更頻繁地進行記錄備份。 較頻繁的記錄備份還會帶來另一優點,就是增加記錄截斷的頻率,從而產生較小的記錄檔。

重要

若要限制您需要還原的記錄備份數目,定期備份資料是基本作業。 例如,您可能會排程每週的完整資料庫備份和每日的差異資料庫備份。
同樣地,實作復原策略,以及特別是完整和差異資料庫備份頻率時,考慮使用必要的 RTORPO