還原是備份策略的終極驗證,但圍繞還原存在大量迷思。本文一次釐清 26 個關鍵迷思(對應字母 A-Z),助您建立正確還原觀念。
| 代號 | 迷思 | 事實 |
|---|---|---|
| a | 完整/差異備份可用 STOPAT 還原至時間點 | 不可。STOPAT 僅適用於記錄備份還原。 |
| b | 使用 CONTINUE_AFTER_ERROR 後仍可按順序還原 | 錯誤。還原鏈會中斷,可能導致資料不一致或結構損壞,不建議使用。 |
| c | 可將資料庫部分還原至特定時間點 | 不可。所有檔案組必須與 PRIMARY 至同一時間點(唯讀檔案組除外)。 |
| d | 可將不同資料庫的檔案組還原至新資料庫 | 不可。每個資料庫檔案標頭頁有唯一 GUID,無法跨資料庫還原。 |
| e | 還原可移除索引碎片/更新統計資訊 | 不可。還原的是備份當下的狀態,碎片與統計資訊原封不動。 |
| f | 還原過程中可收縮資料庫 | 不可。雖然開發環境常需求,但功能不存在。 |
| g | 可還原至任意較低版本實例 | 不可。低版本無法理解高版本資料庫內部結構。 |
| h | 可還原至任意版本 SQL Server | 不可。企業版專屬功能(分區、TDE、CDC、壓縮)僅能還原至企業版/開發版/評估版。 |
| i | WITH STANDBY 會破壞還原鏈 | 不會。STANDBY 相當於 NORECOVERY,可中斷繼續還原,支援記錄傳送唯讀存取。 |
| j | 備份端未開啟即時檔案初始化,還原端也無法使用 | 錯誤。即時檔案初始化完全取決於還原端服務帳戶權限,備份檔不包含此資訊。 |
| k | 還原是從損壞恢復的最佳辦法 | 不一定。視損壞範圍、備份類型、可接受資料遺失與停機時間,有時從次要複本同步或匯出資料更快。 |
| l | 開始還原後仍可備份尾端記錄 | 不可。一旦啟動還原,即不允許尾端備份。災難發生時第一件事應先嘗試尾端備份。 |
| m | 可還原至記錄備份涵蓋範圍內任意時間點 | 不可。若記錄包含最小記錄操作(大量載入),該操作具原子性,只能整個還原或不還原,無法還原至操作中間時間點。 |
| n | 備份成功即可還原 | 錯誤。備份檔同樣可能損壞(I/O 子系統錯誤),必須定期驗證。另需注意 COPY_ONLY 避免破壞差異基準。 |
| o | 所有頁面類型皆可單頁還原 | 不可。GAM、SGAM、PFS 等配置頁無法單頁還原(SQL 2008+ 鏡像可自動修復)。 |
| p | RESTORE VERIFYONLY 會驗證整個備份集 | 不會。僅檢查備份標頭。需 WITH CHECKSUM 才做完整校驗和驗證。 |
| q | 不還原憑證可還原 TDE 加密資料庫 | 不可。憑證遺失 = 資料庫永久無法存取。 |
| r | 還原完成後才做 Redo 和 Undo | 每次還原操作皆執行 Redo;僅在最終還原完成(RECOVERY)時才執行 Undo。 |
| s | 壓縮備份僅能還原至企業版 | 錯誤。所有版本皆可還原壓縮備份。2008 R2 起標準版也可建立壓縮備份。 |
| t | 低版本還原至高版本可跳過升級 | 不可。還原/附加過程中必須經歷升級與復原步驟。 |
| u | 32 位備份無法還原至 64 位,反之亦然 | 錯誤。資料庫內部格式與 CPU 架構無關,跨架構還原完全支援。 |
| v | 資料還原即保證應用正常 | 不對。同鏡像容錯移轉/記錄傳送切換,仍需處理登入、連結伺服器、作業、權限等後續步驟。 |
| w | 還原受損檔案需還原所有相關檔案組 | SQL 2000 需要;SQL 2005+ 可單獨還原受損檔案組。 |
| x | 可還原至任意最新版本實例 | 不可。僅支援還原至較新的一或兩個版本(如 SQL 7.0 不能還原至 2008)。 |
| y | 復原時間等於還原時間 | 不等。長交易回滾、即時檔案初始化啟用與否、硬體效能皆影響總時間。 |
| z | 還原前必須先 DROP 目標資料庫 | 不需要。若先 DROP,還原時需即時檔案初始化;建議保留原資料庫以便失敗時回滾。 |