如何修復 Microsoft SQL Server 損毀的 MDF 檔案?

Recovery Toolbox for SQL Server

Recovery Toolbox for SQL Server 可幫助修復 MS SQL Server 所有版本的損毀 MDF 檔案

更新: 2026-03-28

Victor Bobrov 撰文: Victor Bobrov

如何修复 Microsoft SQL Server 数据库。

如何修复损坏的或挂起的 Microsoft SQL Server 数据库。database. 如何从损坏的 *.mdf 文件恢复数据逐步详细说明如下:

  1. 在这里下载 Recovery Toolbox for SQL Serverhttps://sql.recoverytoolbox.com/download/RecoveryToolboxForSQLServerInstall.exe
  2. 安装 Recovery Toolbox for SQL Server
  3. 启动 Recovery Toolbox for SQL Server
  4. 选择损坏的 *.mdf 文件
  5. 预览数据,可以从损坏的 Microsoft SQL Server 数据库提取
  6. 选择数据导出方法
    • 作为 SQL 脚本保存到磁盘
    • 直接在数据库上执行 SQL 脚本
  7. 选择应该修复和保存的信息
  8. Start Recovery (开始恢复)

Recovery Toolbox for SQL Server 可以修复Microsoft SQL Server 数据库受损的MDF文件。SQL MDF修复程序可以修复下列错误:

  • 文件大小属性错误。(Microsoft SQL Server, Error:5172)
  • SQL Server 检测到了一个基于逻辑一致性的 I/O 错误:校验和错误 (Microsoft SQL Server, Error:824)
  • 索引分配映射(IAM)页面被IAM页面的下一个指针所指向。
  • 在文件 FileName.mdf 中读取偏移0x######时侦测到 I/O 错误(错误页面ID)。
  • 文件似乎已被操作系统截断。
  • 在恢复数据 DatabaseName 中的记录操作时,日志记录ID出现错误。

MS SQL Server数据库修复工具功能:

  • 修复各个版本 Microsoft SQL Server 数据库与*.MDF文件:7/2000/2005/2008/2008 R2/2012/2014/2016/2019/2022
  • 修复受损mdf文件中的所有受损对象:数据类型、表单元格数据、视图、存储步骤、自定义函数、触发器、索引、主键与外键、限制与其他
  • 修复存储在数个文件 (*.mdf + *.ndf ) 中的SQL数据库
  • 将修复后的数据直接导出至 Microsoft SQL Server 数据库
  • 将修复后的数据另存为 SQL 脚本
  • 预览恢复的数据和结构
  • SQL 修复工具通过下列系统测试:Windows 98/Me/2000/XP/Vista/7/8/10/11 或 Windows Server 2003/2008/2012/2016 以及更高版本
  • 多语言支持
  • 在勒索软件加密攻击后恢复数据
  • MDF Viewer Tool

Recovery Toolbox for SQL Server是一款多合一的 MS SQL 資料庫修復解決方案,可修復損毀的 MDF/NDF 檔案。Recovery Toolbox for SQL Server 有助於修復 mdf 檔案,並從暫停的資料庫中復原資料。

Recovery Toolbox for SQL Server

修復 sql db

SQL 資料庫維修

修復 SQL Server 資料庫的過程是一項複雜的任務,包含數個步驟。修復 SQL Server 損毀的過程包括還原儲存所有資料庫物件的 MDF 檔案:

  • 表格 (Tables)
  • 儲存程序 (Stored Procedures)
  • 功能 (Functions)
  • 觸發器 (Triggers)
  • 索引 (Indexes)
  • 觀眾 (Viewers)

Recovery Toolbox for SQL Server以 Microsoft SQL 資料庫修復的非常複雜的演算法為基礎運作。為了修復資料庫 SQL Server,第一步是定義並識別檔案中資料區塊的頁面。頁面只是 MDF/NDF 檔案中資料儲存的通用區塊。區塊大小可由資料庫管理員設定。預設情況下,頁大小約為 8K 位元組。修復後的 MDF 檔案的每個頁面都有唯一的索引和編號。根據此唯一資訊,您可以在嘗試修復 SQL 資料庫時篩選出不相關和未使用的頁碼。額外的頁面通常會在修改或刪除 MDF 檔案中的使用者資料時出現。Recovery Toolbox for SQL Server 在去修復 SQL 資料庫時,會排除多餘的頁面,這樣資料就不會重複,只有實際的資料會被傳輸到復原的資料中。完成 SQL 資料庫修復後,應從已復原的 MS SQL 資料庫中排除已刪除或修改的記錄或資料表,以免損害其完整性。

如何修復 MDF 檔案

MDF 修復不能僅僅通過修復或修改損壞的 MDF 檔案內容來完成。MDF 檔案具有複雜的結構,物件之間有多重連線。因此,在損毀的 MDF 檔案中進行最輕微的編輯都會導致資料完整性受到破壞,並使 MDF 檔案的復原變得更加複雜。反過來,這可能會導致修復資料庫 MSSQL 所需的時間增加,或整體上失去修復 SQL DB 的可能性。因此,要回答如何修復 MDF 檔案,有必要完全瞭解該過程。

MDF 檔案的修復過程分幾個階段進行:

  1. 分析 MDF 檔案的結構
  2. 選擇儲存資料的頁面
  3. MDF 檔案中的結構資料頁
  4. 刪除多餘頁面,避免內容重複
  5. 強調描述儲存資料結構的系統資料
  6. 將不同的資料匯集到資料表、索引和其他物件的共用結構中
  7. 以 SQL 腳本 (*.sql 檔案) 儲存資料為獨立檔案
  8. 在 MSSQL Server 中建立新資料庫
  9. 從 SQL 腳本 (*.sql 檔案) 依序匯入資料至新資料庫
  10. 以新的 MDF 檔案(新資料庫)取代損毀的資料庫
修復損毀的 sql db
修復資料庫 sql server

作為修復 SQL Server 資料庫的結果,在將從損毀的 MDF 檔案中提取的所有資料導入新的資料庫後,此新資料庫被視為已修復的 SQL DB;而在修復 MS SQL 時創建的新資料庫的 MDF 檔案即為已復原的 MDF 檔案。換句話說,此演算法允許 Recovery Toolbox for SQL Server 透過創建其工作版本來修復資料庫 MS SQL,該版本是原始檔案損壞前的精確副本。若要修復 MDF 檔案,首先需要還原資料 (資料表),然後再還原所有其他使用者物件 (儲存程序、函式、觸發器、索引和檢視器)。換句話說,復原 MDF 檔案要經過一個中間步驟:將資料儲存為 .sql 檔案。因此,在修復 SQL 資料庫的過程中,不會編輯或修改受損 MSSQL Server 資料庫的損毀 MDF 檔案。

系统要求:

  • Windows 98/Me/2000/XP/Vista/7/8/10/11 或 Windows Server 2003/2008/2012/2016 以及更高版本
  • Microsoft SQL Server: 7/2000/2005/2008/2008 R2/2012/2014/2016/2019/2022

Victor G. Bobrov資深軟體工程師。

MCSD, MCDBA

在数据结构、数据存储、信息存储以及从损坏的Microsoft SQL Server数据库中恢复数据领域拥有超过20年经验的专家。

在线修复文件 下载 立即购买