當系統故障發生,只要存在交易日誌即可利用其恢復資料。身為 SQL Server DBA,深入理解日誌檔案作用與故障應用至關重要。本文為兩部曲之上,聚焦前兩大故障場景。
資料庫為提升效能,資料變更先寫入高速緩存,同步記錄至交易日誌,稍後再批次寫入硬碟資料檔。若此時伺服器斷電或當機,緩存中未刷入硬碟的修改將遺失。
有日誌時:SQL Server 啟動時對每個資料庫執行恢復——前滾日誌中尚未寫入資料檔的修改,回滾未完成交易,確保資料完整性。
無日誌或日誌損壞:修改無法恢復,資料完整性受損。
實務建議:遭遇意外故障時,優先確認交易日誌可用性。若日誌損壞,須先修復日誌再啟動實例,否則可能永久損壞資料完整性。
為實現高可用,生產伺服器外需部署備用伺服器,核心在於生產與備用間資料同步。SQL Server 基於交易日誌複寫提供兩大方案:
兩大方案均建立於交易日誌複寫之上,是災難恢復架構的核心支柱。