首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料庫還原完整操作指南:企業管理員與 T-SQL 雙軌教學

     編輯:關於SqlServer

一、企業管理員 (SQL 2000/2005) 圖形化還原

通用步驟

  1. 右鍵「資料庫」 → 所有工作 → 還原資料庫
  2. 還原為資料庫 輸入目標資料庫名
  3. 還原來源 選「從裝置」 → 選取裝置 → 新增 → 選 .bak 檔 → 確定
  4. 備份集 勾選欲還原的備份
  5. 選項 頁籤:修改 移至實體檔案名 指定 .mdf/.ldf 新路徑
  6. 若資料庫已存在,勾選 在現有資料庫上強制還原
  7. 確定執行

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;

三、解決還原路徑不符 (移動檔案)

步驟

  1. 查詢備份檔邏輯檔名:RESTORE FILELISTONLY FROM DISK='C:\backup.bak'
  2. 依邏輯名對應新物理路徑:
RESTORE DATABASE 新資料庫
FROM DISK='C:\backup.bak'
WITH MOVE '邏輯資料檔1' TO 'C:\新路徑\資料1.mdf',
     MOVE '邏輯記錄檔1' TO 'C:\新路徑\記錄1.ldf',
     ...;
-- 企管對應「選項」頁籤的「移至實體檔案名」

四、備份/還原三大避坑原則

  1. 單一備份檔:不要在同一 .bak 追加多組備份,否則還原需指定 FILE = n
  2. 覆寫模式:備份時選「覆寫現有媒體」,非「附加」
  3. 完整備份:還原最簡單,差異/記錄備份需完整備份為基底
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved