症状:

使用时 DBCC CHECKDBREPAIR_ALLOW_DATA_LOSS 修复损坏的.MDF数据库的参数,如下所示:

DBCC CHECKDB(xxxx,'REPAIR_ALLOW_DATA_LOSS')

您看到以下错误消息:

消息5028,级别16,状态4,行4
系统无法激活足够的数据库来重建日志。
DBCC结果为“ xxxx”。
CHECKDB在数据库'xxxx'中发现0个分配错误和0个一致性错误。
消息7909,级别20,状态1,行4
紧急模式修复失败。您必须从备份中还原。

其中“ xxxx”是要修复的损坏的MDF数据库的名称。

讯息5028 错误既不是分配错误也不是一致性错误。

讯息7909 是一个严重的错误,在任何情况下都可能会发生 SQL Server 认为数据库无法恢复。

错误消息的屏幕截图:

精确说明:

错误信息(讯息5028)似乎与LOG文件有关。 但是,这是一个错误的报告。 实际问题仍然是由MDF数据库损坏引起的。

您可以使用我们的产品 DataNumen SQL Recovery 从损坏的MDF文件中恢复数据并解决此错误。

样本文件:

样本损坏的MDF文件将导致 讯息5028 错误:

SQL Server 版本 MDF文件损坏 MDF文件由固定 DataNumen SQL Recovery
SQL Server 2014 错误3.mdf 错误3_fixed.mdf