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

SQL Server 僅憑 MDF 檔案還原資料庫實戰操作

     編輯:關於SqlServer

適用情境

  • 伺服器故障無法正常備份,僅能從磁碟救出 .mdf 主資料檔。
  • 遺失 .ldf 記錄檔,需快速掛載資料庫搶救資料。

操作步驟(以 SSMS 查詢分析器為例)

  1. 開啟 SSMS,以 sa 或 sysadmin 角色連線伺服器。
  2. 開啟新查詢視窗,輸入以下 T-SQL 指令:
EXEC sp_attach_single_file_db
    @dbname = N'IT2000',           -- 目標資料庫名稱
    @physname = N'D:\Data\IT2000.mdf';  -- MDF 實體完整路徑
  1. 點擊 執行,訊息窗格顯示「命令已成功完成」即代表掛載成功。
  2. 在「物件總管」重新整理,即可看到 IT2000 資料庫已上線。
查詢分析器連線畫面
圖 1:查詢分析器連線對話框
查詢分析器編輯視窗
圖 2:查詢編輯視窗
執行掛載指令
圖 3:輸入指令並執行

原理與注意事項

  • sp_attach_single_file_db 會自動在 MDF 同目錄建立新的空白記錄檔(LDF),資料庫狀態為 RECOVERY_PENDING 後自動完成復原。
  • 未提交的交易將遺失,資料庫可能處於交易一致性狀態,建議掛載後立即執行 DBCC CHECKDB ('IT2000') 驗證完整性。
  • 此預存程序在 SQL Server 2005+ 已標記為棄用,新版本請改用 CREATE DATABASE ... FOR ATTACH_REBUILD_LOG。

新版本替代語法

CREATE DATABASE IT2000
ON (FILENAME = N'D:\Data\IT2000.mdf')
FOR ATTACH_REBUILD_LOG;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved