Enterprise Manager → 右鍵資料庫 →「所有工作」→「還原資料庫」。
-- 從磁碟備份檔還原
RESTORE DATABASE test FROM DISK = 'c:\mssql7\backup\test.bak';
-- 從備份裝置還原
RESTORE DATABASE test FROM backup_device;
適用於:伺服器當機、未及時備份、但資料/記錄檔完整保留。
EXEC sp_attach_db
@dbname = N'pubs',
@filename1 = N'c:\mssql7\data\pubs.mdf',
@filename2 = N'c:\mssql7\data\pubs_log.ldf';
注意:實務上偶發附加後資料庫變唯讀,若發生需重新檢查檔案權限與磁碟空間。
適用於:遺失 LDF 檔案,或 LDF 損壞。
EXEC sp_attach_single_file_db
@dbname = 'pubs',
@physname = 'c:\mssql7\data\pubs.mdf';
後果:SQL Server 自動建立新的空白記錄檔,原記錄檔中未提交交易將遺失。本意是 sp_detach_db 的反向操作,但直接用於災難恢復亦可行。
| 情境 | 推薦方法 |
|---|---|
| 有完整備份策略 | 方法一(標準還原) |
| 無備份但 MDF/LDF 完整 | 方法二(附加雙檔) |
| 僅剩 MDF,LDF 遺失/損壞 | 方法三(單一檔案附加) |