首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 交易記錄在高可用與災難復原中的角色:損壞情境下的恢復策略

     編輯:關於SqlServer

簡介

交易記錄保證持久性與一致性,透過 Undo(回滾)與 Redo(重做)機制,支援災難復原與高可用性(鏡像、記錄傳送、Always On、複寫)。

記錄損壞情境與因應

情境一:資料庫正常關閉,記錄損壞

所有提交交易已 Checkpoint 寫入資料檔,無不一致風險。
做法: 使用 FOR ATTACH_REBUILD_LOG 附加資料庫,自動重建記錄檔(預設 0.5MB,2 VLF,自動成長 10%)。附加後務必手動調整記錄檔大小,避免過多 VLF。

正常關閉資料庫附加重建記錄示意

情境二:資料庫非正常關閉,記錄損壞

資料庫可能處於:

  • RECOVERY_PENDING: 需執行 Crash Recovery 但資源(如記錄)不可用無法開始。
  • SUSPECT: Crash Recovery 已開始但無法完成(資料與記錄不一致)。
資料庫狀態轉換關係圖

後續處理: 需視損壞嚴重度,嘗試緊急模式附加、DBCC 修復、或從備份還原。詳細策略超出本文範圍。

核心提醒

  • 記錄檔損壞不等於資料全失,關鍵在於資料庫關閉狀態與資料檔完整性。
  • 定期備份記錄、驗證備份、監控 I/O 子系統健康,是預防記錄損壞的根本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved