資料庫備份是 DBA 核心職責。本文系統整理 SQL Server 各備份類型定義、還原流程圖解、以及分區資料庫還原進階技巧。
| 類型 | 定義 | 存檔屬性變化 | 依賴關係 |
|---|---|---|---|
| 完整備份 | 備份所有資料頁,建立基準點 | 清除 (標記已備份) | 獨立,所有還原起點 |
| 差異備份 | 備份上次完整備份後變更的區塊 | 不清除 | 依賴最近一次完整備份 |
| 交易記錄備份 | 備份交易記錄區間,支援時間點還原 | 清除 | 需完整/大量記錄復原模式,形成記錄鏈 |
| 檔案/檔案組備份 | 備份指定檔案群組 | 視模式而定 | 搭配記錄備份還原 |
| 部分備份 | READ_WRITE_FILEGROUPS 選項,針對大型資料庫 | - | - |
-- 週日 02:00 完整備份
-- 週一~週六 02:00 差異備份
-- 每 4 小時 交易記錄備份 (白天)
-- 磁碟故障發生於週四 09:12
-- 還原步驟:
1. 尾記錄備份 (若記錄檔未損壞)
2. 還原週日完整備份 (WITH NORECOVERY)
3. 還原週三差異備份 (WITH NORECOVERY)
4. 還原 04:00、08:00 交易記錄備份 (WITH NORECOVERY)
5. 還原尾記錄備份 (WITH RECOVERY)
(原文包含 9 張 SSMS 截圖,此處略,實作請參考原文圖示)
還原精靈「還原為」欄位直接修改路徑/檔名即可成功。
可能報錯 「檔案已存在或無法存取」。解決兩法:
ALTER DATABASE [DB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 設為單人模式再還原。RESTORE VERIFYONLY FROM DISK='path.bak'; 定期執行,確保備份檔可用。