交易記錄檔 (LDF) 是災難恢復核心,四大經典應用場景:
故障一:伺服器意外關機導致資料遺失
- SQL Server 採用 **WAL (Write-Ahead Logging)**:先寫記錄檔、再異步刷新資料頁。
- 意外關機時,記憶體髒頁未寫入磁碟,但記錄檔已持久化。
- 重啟時,**自動執行復原 (Recovery)**:
• **Redo (重做)**:掃描記錄檔,將已認可交易重新應用至資料頁。
• **Undo (回滾)**:將未認可交易回滾,確保一致性。
- **關鍵**:記錄檔必須可用。若 LDF 損壞,需先修復/重建 LDF 再啟動,否則資料不一致。
故障二:生產/備份伺服器資料同步 (高可用)
兩大方案皆基於 **記錄檔複寫**:
| 方案 | 機制 | 模式限制 | 特點 |
| 記錄傳送 | 主庫備份記錄檔 → 傳送 → 備庫還原 | 完整/大量記錄復原模式 | 可一主多備、支援監視伺服器告警、延遲可控、切換需人工/腳本 |
| 資料庫鏡像 | 主體同步發送記錄區塊 → 鏡像重做 | **僅完整復原模式** | 高安全性 (同步) / 高效能 (非同步)、自動容錯移轉 (需見證)、每資料庫獨立 |
- 記錄傳送:多主庫可集中至單一備庫,節省資源。
- 鏡像:高安全性模式交易延遲較大;高效能模式可能遺失資料 (非同步)。
- **生產庫必須為完整/大量記錄復原模式**,簡單模式會中斷記錄鏈導致同步失效。
故障三:誤刪/誤更新資料的時間點復原
- 完整備份 + 記錄檔備份 → 還原至誤操作前時間點 (
STOPAT / STOPATMARK / STOPBEFOREMARK)。
- 需 **完整復原模式** 且記錄檔備份完整無縫隙。
- 大型資料庫可用 **檔案群組還原** 或 **頁面級還原** (Enterprise) 縮短 RTO。
故障四:硬體/儲存層故障導致資料頁損壞 (823/824/825 錯誤)
- 自動頁面修復 (鏡像/AlwaysOn):副本偵測損壞頁 → 自動向主體請求健全頁面 → 替換修復,**零停機、零資料遺失**。
- 手動頁面還原:
RESTORE DATABASE ... PAGE = 'file_id:page_id' ... 從備份還原特定頁面。
- DBCC CHECKDB REPAIR:最後手段,可能資料遺失。
總結
**記錄檔是 SQL Server 生命線**。確保:
1. 完整/大量記錄復原模式 + 定期記錄檔備份。
2. 記錄檔備份儲存於獨立儲存體/異地。
3. 定期演練還原至時間點、頁面級還原、鏡像容錯移轉。
4. 監控記錄檔增長、VDF 狀態、復原模式變更。
- 上一篇文章: SQL Server 2008 備份壓縮實測:AdventureWorks 178MB 測試
- 下一篇文章: SQL Server與Oracle並行處理機制深度對比:鎖定策略與讀取一致性的核心差異
Copyright ©
程式碼之家 All Rights Reserved