下载Windows

MS SQL数据库恢复软件

如何修复 SQL Server 数据库

SQL Server Recovery Kit

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

如何恢复损坏的 Microsoft SQL Server 存储。

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

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

如何還原損毀的 Microsoft SQL Server 資料庫?

SQL Server Recovery Kit 可以修复受损的Microsoft SQL Server 数据库文件。

MDF 恢复软件的功能:

  • 恢复处于 挂起状态的不可读取的数据库
  • 修复各个版本 Microsoft SQL Server 中的受损SQL Server数据库:SQL Server 7/2000/2005/2008/2008 R2/2012/2014/2016/2019
  • 恢复 MS SQL 数据库中最重要的内容:数据类型、表数据、视图、存储步骤、自定义函数、触发器、索引、主键与外键和限制等等
  • 将恢复的数据库保存到多个文件中 (*.mdf + *.ndf)
  • 在恢复mdf文件时可以修复受损的分区表
  • SQL MDF 恢复软件可以直接将恢复的数据导出至 Microsoft SQL Server
  • 将恢复的数据另存为SQL脚本保存到硬盘中
  • 将数据直接导出为新的数据库
  • 可以选择特定的数据进行保存
  • 支持下列系统中的 SQL Server 软件:Windows 98/Me/2000/XP/Vista/7/8/10/11 或 Windows Server 2003/2008/2012/2016 以及更高版本
  • 用户界面支持14种语言
  • 可以预览损坏MDF文件中的可恢复对象和数据
  • 在勒索软件加密攻击后恢复数据
  • MDF Viewer Tool

这款高性能的 SQL Server 恢复工具可以修复各种类型的数据库损坏和 MDF 文件受损情况。

如何在损坏后恢复SQL Server数据库

若要从损坏的SQL Server数据库还原数据,可以使用最新的备份或尝试使用SQL Server Recovery Kit。SQL Server Recovery Kit极有可能将SQL Server数据库还原到损坏前的原始状态。要验证此陈述,需要执行以下操作:

  1. 下载、安装并运行SQL Server Recovery Kit演示版。
  2. 选择损坏的MDF文件进行分析
  3. 分析损坏的SQL Server数据库。
  4. 查看恢复的表格列表。
  5. 查看已還原表中的數據。
  6. 查看恢復的用戶對象列表。
  7. 配置數據存儲選項。
  8. 選擇要保存的數據和對象。
  9. 保存数据 - 在完整版本中提供。

如何修复SQL Server数据库

如果您需要快速修复损坏的SQL Server数据库的MDF文件,使用SQL Server Recovery Kit,只需单击几下即可完成。通过将损坏的SQL Server MDF文件中的数据复制并修复到新数据库或分隔磁盘上的SQL脚本文件的方式,可以对损坏的SQL Server数据库的MDF文件进行修订。该工具不修复或修改现有SQL Server的MDF文件。从*.mdf文件恢复的所有数据都将会传输到新数据库或SQL脚本文件。

系统要求:

  • 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

解答:

SQL Server Recovery Kit 支持的数据保存方式有两种:

  1. 您可以将 SQL 脚本保存到硬盘上,这些脚本会创建表格等数据库对象,并将数据插入到表格中。
  2. 您也可以在数据库中运行脚本,这些脚本会根据用户定义以 SQL 语言写入。

请注意,尽管 SQL 脚本基于数据库中的相同文件创建,但脚本本身可以不同。这是因为存在两种具有不同语法特性的询问,一种通过 ADO 直接执行服务器连接,另一种在 MS SQL Server 提供的问题分析器环境下执行 SQL(: 的用法和转到命令等)。第一种方法更可靠,第二种方法更方便。

将数据转换为脚本并保存到磁盘

1. 保存的数据映射

如果您选择将数据保存到磁盘,SQL Server Recovery Kit 会创建一个包括原始 MDF 文件名称的子目录,这个子目录在用户定义的路径中创建,所有脚本都将保存在这里。所有脚本的命名都是有规则的,其名称包含一个单词和一个数字。单词表示脚本的作用,数字表述脚本的顺序。脚本有许多类型,例如:

  • Types*.sql - 该脚本会根据用户定义创建数据类型。
  • Tables*.sql - 该脚本会创建表格。
  • Indexes*.sql - 该脚本会创建主关键字和索引。
  • ForeignKeys*.sql - 该脚本会创建外来键。
  • Procedure*.sql - 该脚本会创建存储程序。
  • Function*.sql - 该脚本会根据用户定义创建函数。
  • View*.sql - 该脚本会创建视图。
  • Triggers*.sql - 该脚本会创建事件触发器。
  • Data*.sql - 该脚本会将数据插入表格。

脚本序列号不包含任何有用的数据,也不显示脚本执行顺序或其它任何信息。它只是用来分隔数据,并将其保存到一些小文件,而不是一个大文件中。用户可以用 SQL 脚本定义文件的最大容量。此外,用户需要注意数据文件的编号。同时应该注意,每个数据类型文件只能包含一个表格数据。带序列号的文件包含每个表格的所有数据。

注意: 如果某些文件的编号丢失,意味着有些表格不包含任何数据。

2. 脚本执行顺序

在这一节中您可以看到建议的脚本执行顺序:

脚本执行顺序取决于现有数据和表格结构限制。请特别注意以下因素:

  1. 如果要创建一个次级关键字,请指定相应的主关键字。基于这一状况,这些操作会保存到不同文件中,以该顺序执行。
  2. 在生成索引和二级关键词前,程序会填写表格。该操作具有强制性,因为填写完定义二级关键词表格后会进行参照完整性检查。如果在填写主关键字表格前即填写了次级关键字表格,会发生错误。此外,该方法具有另一个特性。如果恢复的术语与主关键字、唯一索引等发生冲突,表格仍然会被填写,但不会创建限制(索引、主关键字等)。如果用户需要实现其它性能,可以自行选择脚本执行顺序。
  3. 程序、函数、视图和事件触发器对象之间有着复杂和微妙的依存关系,将其创建在同一数据库中会有一定困难。程序可能涉及其它程序,视图可能调用函数,事件触发器可能适用于所有对象。这就是为什么程序并不能帮助解决混乱的局面。因此用户应该手动地找出所有依存关系,以需要的顺序启动 SQL 脚本。另一种可能是多次执行包括在该组中的所有脚本,直至所有错误提示都消失。

3. Install.bat 文件

Install.bat 文件用于确保所有脚本都能够自动运行。该文件会执行以前由工具保存的所有脚本。在应用到数据库时,脚本执行顺序是相同的。这个批处理文件需要安装 isqlw 实用程序,是 MS SQL Server 客户端的组成部分。请在命令行中为 install.bat 文件指定服务器名称、数据库名称、用户名和密码等参数。例如:install.bat SQLServer SQLDatabase SQLUser SQLUserPassword

注意:
  1. 参数应用空格隔开。如果参数本身包含空格,应该加上双引号。
  2. 参数顺序不能修改。
  3. 如果 install.bat 不带参数执行,您将看到一个怎样启动文件的简短指南。

4. InstallTrusted.bat

如果您借助于Windows用户账户使用Microsoft SQL Server 授权,可以用 InstallTrusted.bat文件。

InstallTrusted.bat文件有两个参数: Server name, Database name。使用例子:installtrusted.bat SQLServer SQLDatabase。 关于授权通过Windows用户账户的详细信息就在这儿:https://docs.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017

解答:

从多个源文件中恢复 MS SQL Server 格式的数据库

MS SQL Server 格式的数据库包含一个或几个文件。具有多个文件类型:主数据文件(带 *.mdf 默认扩展名)、次要数据文件(带 *.ndf 默认扩展名)和事务日志文件(带 *.ldf 默认扩展名)。如果要使用 SQL Server Recovery Kit 修复数据,您应该为所有次要数据文件和主数据文件指定路径。该操作可以通过 Open File打开文件)对话框进行。

图.1

如果损坏的数据库包含主数据文件、次要数据文件和事务日志文件,您应该选择 *.mdf 格式的主数据文件和所有 *.ndf 格式的次要数据文件(参见图 2)。

图.2

解答:

恢复大的 MS SQL Server 数据库会占用大量内存。程序开发人员建议您的电脑要有足够的物理内存,用于恢复大的数据库。程序占用的物理内存必须不少于您恢复文件的大小除以 500 再加上 20-100 MB,以确保程序运行。就是说,如果要恢复一个 100 GB大小的 .mdf 文件,电脑必须有至少 (100 GB / 500) + 120 MB = 320 MB 的可用物理内存。

解答:

为解决该问题,您应该:

  1. 以脚本方式保存数据
  2. 从命令行中运行带所有必要参数的 install.bat 文件
  3. 查看响应文件 (*????.sql.txt),找出哪些脚本没有成功执行
  4. 将执行出错的脚本加载到 Microsoft SQL Server 的问题分析器,尝试在此处进行执行。如果获得了错误信息,应该查明是哪个命令导致了发生该错误。如果该命令写入的数据没有用处,可以直接将其删除。此外,您可以将脚本执行错误信息和问题分析器的截图发送给开发人员。另外,可能有必要将 *.mdf 源文件发送给开发人员,帮助他们找出问题原因。

解答:

  • 如果主键字段中的数值不正确(例如是负数或比其他所有数值大几十倍),说明源数据严重损坏且完全不能恢复。
  • 如果主键字段中出现了重复的数值,说明程序恢复了带数据库中标记删除数据的电子表格(mdfndf 文件)。但实际上却没有应被删除的带数据电子表格标记。因此程序将从所有电子表格中恢复数据。这导致了已恢复数据过多,且 SQL Server Recovery Kit 的开发人员无法找到过滤过多条目的标准。在这种情况下,数据库管理员和/或软件开发人员要最终决定已恢复数据库中应该删除的过多条目。

解答:

isqlw.exe 工具是 MS SQL Server 包组件。您总是可以从 Microsoft 网站上下载最新版 MS SQL Server 并在电脑上安装所需组件。从 Microsoft 网站上下载的 MS SQL Server 试用版允许您在 EULA 中指定的时期内使用组件。

如果您能在 Microsoft.com 上找到合适的工具,那么您就可以从我们的网站上下载并安装 Query Analyzer。下载链接为:https://all-recovery-inc.com/download/isqlwInstall.exe

解答:

可能是在测试和注册期间您的 MDF 发生了某些改变(用其他软件进行了恢复等)。您可以再次使用试用版在另一台电脑上检查该文件。

如果您在运行脚本后看到以下错误:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值溢出。

解答:

这意味着您应该进行以下操作,以更改服务器语言设置:

  1. 启动 Enterprise Manager(企业管理器)。
  2. 选择所需的服务器并进行连接。
  3. 通过在上面单击鼠标右键并选择 Properties(属性)打开属性窗口。
  4. 打开 Server Settings(服务器设置)选项卡。
  5. 在用户下拉列表默认语言中选择 English(英语)并按下 OK(确定)。
  6. 停止 SQL 服务器。为此要在快捷菜单中选择 Stop(停止)并在配置窗口中出现 Are you sure you wish to stop SQL Server service(确实要停止 SQL Server 服务吗)问题时回答 Yes(是)。
  7. 启动 SQL Server。为此请在快捷菜单中选择 Start(启动)。
  8. 现在您可以运行由 SQL Server Recovery Kit 保存在您硬盘上的脚本。您也可以采用数据库脚本运行模式运行程序。
  9. 现在您需要还原设置。为此请打开 Enterprise Manager 中所需服务器的属性窗口。
  10. 在用户列表默认语言中选择默认语言并按下 OK(确定)。
  11. 停止 SQL server。为此要在快捷菜单中选择 Stop(停止)并在配置窗口中出现 Are you sure you wish to stop SQL Server service(确实要停止 SQL Server 服务吗)问题时回答 Yes(是)。
  12. 启动 SQL Server。为此请在快捷菜单中选择 Start(启动)。

如果您在运行脚本后看到以下错误:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值溢出。

解答:

这意味着您应该进行以下操作,以更改服务器语言设置:

  1. 启动 Management Studio(管理工作室)。
  2. 选择所需服务器。
  3. 转到 Security\Logins(安全\登录)。
  4. 选择正在使用数据库的用户并打开用户属性窗口。
  5. 在用户下拉列表默认语言中选择 English(英语)并按下 OK(确定)。
  6. 现在您可以运行由 SQL Server Recovery Kit 保存在您硬盘上的脚本。您也可以采用数据库脚本运行模式启动程序。
  7. 现在您需要恢复设置。为此请打开 Management Studio 中所需用户的属性窗口。
  8. 在用户列表默认语言中选择默认语言并按下 OK(确定)。

解答:

从新服务器上的 MSDB 数据库简单复制或还原数据表不允许还原 DTS 包,因为它们拥有内部连接,可连接至在上面创建或先于迁移使用的服务器的执行环境。为在服务器之间复制 DTS 包,VB 脚本必须被使用。因此 SQL Server Recovery Kit 程序不适用于还原 DTS 包。

解答:

SQL Server Recovery Kit 会自动检查使用数据库的服务器版本。因此,如果数据库用于 MS SQL Server 2000,程序会写入 isqlw 工具至保存的脚本,用于导入至新数据库。如果数据库用于 MS SQL Server 2005 或更高版本,则脚本中使用的是 sqlcmd 工具。如果想将数据导入至服务器上与原来版本不同的数据库,应使用用于相应服务器的工具。

  • Isqlw – 用于 MS SQL Server 2000
  • Sqlcmd – 用于 MS SQL Server 2005 及更高版本

解答:

  1. 启动 SQL Server Management Studio(SQL Server 管理工作室)
  2. Object Explorer(对象浏览器)中右击 Databases(数据库)
  3. 单击 Attach(连接)
  4. 单击 Add(添加)按钮
  5. 选择 mdf 文件并单击 Ok(确定)按钮
  6. 单击 Ok(确定)按钮
  7. 等待操作结束。

解答:

SQL Server Recovery Kit可以从由勒索软件病毒加密的 Microsoft SQL Server 数据库文件的MDF /NDF文件中部分或完全恢复信息。SQL Server Recovery Kit不会解密数据。

通常,数据解密不适用于这些情况。

但是,在MDF文件部分加密的情况下,SQL Server Recovery Kit 可能很有用。通常,病毒由于其大小的缘故而仅加密文件的头部和/或开头。在这些情况下,如果仅加密MDF文件的标题或部分,则 SQL Server Recovery Kit可能会有所帮助。该程序分析文件中的所有数据块和收集的数据结构。然后,如果可能,它会重新创建原始数据结构和数据本身。

Microsoft SQL Server MDF文件结构

是否可以在勒索软件病毒攻击后从 MDF 文件中恢复数据?

不能保证您可以使用该程序恢复100%的数据或部分数据。

要获得该问题的明确答案,您需要下载 DEMO 版本的 SQL Server Recovery Kit,指定加密的MDF文件,并等待文件分析完成。

在完成对程序的 DEMO 版本中的MDF文件的分析后,即可获得可从文件中提取的数据的完整预览。

注意:

Recovery Toolbox 的客户支持部门通知,通常勒索软件程序只会加密数据库文件的标头,因为它的大小很大。 因此,通常可以从源文件中恢复几乎整个数据结构和几乎所有信息。

请选择或输入文件名称,以便进行恢复。源文件名称 (.mdf)

请选择恢复模式和目标属性

Microsoft SQL Server 源文件内容。按下「开始恢复」按钮,即可保存结果

选择您想从中恢复数据的受损 MS SQL Server 数据库

预览可以从受损 *.mdf 文件中恢复的信息

选择导出数据的方法

选择应修复和保存的信息