-- 1. 還原完整備份(基準)
RESTORE DATABASE [DBName] FROM DISK = N'Full.bak'
WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10;
GO
-- 2. 還原差異備份(單一檔案)
RESTORE DATABASE [DBName] FROM DISK = N'Diff.bak'
WITH FILE = 1, NOUNLOAD, STATS = 10; -- 無 NORECOVERY,完成復原
GO
| 環境 | 錯誤訊息 | 原因 |
|---|---|---|
| SSMS 2012 視窗操作 | Unable to create restore plan due to break in the LSN chain. | 完整備份未指定 NORECOVERY,導致 LSN 鏈中斷。 |
| SSMS 2008/2012 T-SQL | The log or differential backup cannot be restored because no files are ready to rollforward. | 同樣是完整備份未用 NORECOVERY,無檔案處於可向前捲狀態。 |
吐槽:錯誤訊息極易誤導,實際是完整備份缺 NORECOVERY。
按時間序還原,**除最後一個外,皆需 `WITH NORECOVERY`**。