一、企業管理員 (SQL 2000/2005) 圖形化還原
通用步驟
- 右鍵「資料庫」 → 所有工作 → 還原資料庫
- 還原為資料庫 輸入目標資料庫名
- 還原來源 選「從裝置」 → 選取裝置 → 新增 → 選
.bak 檔 → 確定
- 備份集 勾選欲還原的備份
- 選項 頁籤:修改 移至實體檔案名 指定
.mdf/.ldf 新路徑
- 若資料庫已存在,勾選 在現有資料庫上強制還原
- 確定執行
T-SQL 等效指令
RESTORE DATABASE 目標資料庫 FROM DISK='C:\backup.bak'
WITH MOVE '邏輯資料檔' TO 'C:\Data\目標.mdf',
MOVE '邏輯記錄檔' TO 'C:\Log\目標.ldf',
REPLACE; -- 覆蓋既有
二、分階段還原 (完整 → 差異 → 記錄)
1. 完整備份還原 (NORECOVERY)
-- 企管:還原選「資料庫-完全」,選項選「使資料庫不再執行,但可還原其他記錄」
RESTORE DATABASE DB FROM DISK='C:\full.bak' WITH NORECOVERY;
2. 差異備份還原 (NORECOVERY)
-- 企管:還原選「資料庫-差異」,同樣選「不執行、可還原記錄」
RESTORE DATABASE DB FROM DISK='C:\diff.bak' WITH NORECOVERY;
3. 交易記錄還原 (RECOVERY)
-- 企管:還原選「交易記錄」,選項選「使資料庫可繼續執行,無法還原其他記錄」
RESTORE LOG DB FROM DISK='C:\log.trn' WITH RECOVERY;
三、解決還原路徑不符 (移動檔案)
步驟
- 查詢備份檔邏輯檔名:
RESTORE FILELISTONLY FROM DISK='C:\backup.bak'
- 依邏輯名對應新物理路徑:
RESTORE DATABASE 新資料庫
FROM DISK='C:\backup.bak'
WITH MOVE '邏輯資料檔1' TO 'C:\新路徑\資料1.mdf',
MOVE '邏輯記錄檔1' TO 'C:\新路徑\記錄1.ldf',
...;
-- 企管對應「選項」頁籤的「移至實體檔案名」
四、備份/還原三大避坑原則
- 單一備份檔:不要在同一
.bak 追加多組備份,否則還原需指定 FILE = n
- 覆寫模式:備份時選「覆寫現有媒體」,非「附加」
- 完整備份:還原最簡單,差異/記錄備份需完整備份為基底