Fast Database Recovery for MS SQL Servers Fast Database Recovery (FDR)
SQL 数据库与其备份一样好。但是当灾难来袭并且没有可用的备份时,你会怎么做?是否有希望挽救存储在该关键 SQL 服务器中的数据?答案可能是肯定的——即使没有备份。
如果您及早发现问题,MS SQL Server 可以使用 DBCC CHECKDB 来“重置”损坏的数据库。此校验和实用程序可以针对整个数据库或单个表运行。这对于小型数据库来说很好,但是对于大型数据库呢?即使恢复 10GB 的数据也可能需要数小时或数天的时间——这是大多数企业在危机时期所没有的时间。对于较大的 MS SQL 数据库,这种策略根本不可行。但是还有别的方法吗……?
用于 MS SQL Server 的快速数据库恢复 快速数据库恢复 (FDR) 是一种工具,可以在面对损坏的 MS SQL Server 时挽救一天(也可能是您的工作!)。可以运行 FORC(FDR 的恢复控制台)来扫描SQL数据库的内容并为您提供可恢复项目的列表。您可以选择性地将这些项目恢复到空数据库或附加到现有数据库。
下面是它的工作原理…
开始 FDR –
该过程通过运行它来启动(安装程序将自动为您复制此文件)。一旦启动,FORC 会为您的服务器选择最后一个已知良好的备份并开始扫描其内容。注意:默认情况下,它将使用您的 MDF 文件作为基本参考点,但如果需要,您可以在 FDR 选项菜单的“输入”选项卡中更改此设置。
此操作需要几分钟到半小时不等,具体取决于数据库的大小。在下面的示例中,由于我使用的是一个 200MB 的小型数据库,因此需要大约 3 1/2 分钟 – 然而,FDR 可以针对更大的数据库运行,即使是数十或数百 GB 的数据库!
除了扫描可恢复对象的内容外,FORC 还将检查这些项目的标头完整性。如果检测到任何标头错误,FDR 将根据您是否有其他可用副本建议采取措施:
恢复的好人选
仅当不存在其他“已知良好”实例时才成为候选对象 一旦检查并修复了所有数据库内容(如果需要),FDR 将显示其发现。这包括所有可恢复的项目、它们的位置、它们是好的还是损坏的,以及可能有助于恢复过程的其他选项。
注意:FDR 不会恢复“实时”数据库文件 – 它只能应用数据库备份!下一步是附加损坏的数据库文件或从中提取单个数据。FDR 通过提供 VBA 脚本将数据直接提取到 Excel 电子表格中以进行进一步分析,从而使这变得容易。如果需要,您还可以使用这些相同的脚本来提取数据库中的特定对象,以便直接导入其他数据库/应用程序。
在过渡中使用 FDR
FDR 与使用 SQL Server 内置检查 DB 命令相比的最大优势在于它不需要运行 SQL Server。它可以完全独立于 SQL Server 运行!这在您处于灾难恢复模式时非常重要 – 当整个数据库服务器可能由于网络或电源问题而处于脱机状态时,您可能需要立即恢复某些对象。大多数情况下,如果主数据库处于“只写”状态并且无法用于检查数据库命令,则此操作甚至是不可能的!
FDR 与其他解决方案
还有其他第 3 方软件应用程序声称可以修复损坏的 MS SQL 数据库。但是,与 FDR 不同的是,它们需要一个功能性 MDF 文件,该文件必须存在于包含其中数据的物理磁盘上。此外,它们还需要 SQL Server 启动并运行才能执行它们的操作。
使用 FDR,您可以从损坏的 MDF 文件中提取单个对象,而无需先恢复整个数据库内容。因此,总而言之,当面对损坏的 MS SQL 服务器时,无需惊慌 – FDR 已为您服务!如果有兴趣,只需访问其主页以获取更多信息。
在 SQLKoda 上发表的文章并不打算作为软件盗版的邀请,也不是对商业软件的任何形式的认可——它反映了我在参与的评估和部署过程中的个人经验。
在尝试任何此类操作之前,请咨询您当地的政府和业务部门,并确保部署的所有产品在使用或安装之前都符合许可证和/或其他相关法规,包括适当的更新和验证。
网站内容(例如文本、图像和代码示例)受版权法保护,所有权始终归网站所有者所有 – 请参阅我的使用条款了解更多信息。
结论:
在本文中,我介绍了一个名为 FDR 的免费软件应用程序的使用,它可以帮助您恢复损坏或损坏的 MS SQL 数据库。这可能需要一些时间才能完成,但对我来说,当没有其他出路时,这绝对是值得的。FDR 可供下载。
10-minute-guide-to-fixing-damaged-sql-databases-no-recovery-required