症状:
当使用DBCC CHECKDB与REPAIR_ALLOW_DATA_LOSS参数来修复损坏的。mdf数据库,像这样:
DBCC CHECKDB(xxxx, ' REPAIR_ALLOW_DATA_LOSS ')
您将看到以下错误消息:
' xxxx '的DBCC结果。
CHECKDB在数据库“xxxx”中发现0个分配错误和0个一致性错误。
指令824,24层,状态2,8号线
SQL Server检测到一个基于逻辑一致性的I/O错误:错误的校验和(预期:0xea8a9a2f;实际:0 x37adbff8)。它发生在读取文件' xxxx.mdf '中数据库ID 39中的偏移量0x00000000038000页(1:28)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。
“xxxx。mdf '是正在修复的损坏的mdf文件的名称。尽管CHECKDB说
CHECKDB在数据库“xxxx”中发现0个分配错误和0个一致性错误。
这仍然是一个一致性错误(味精824)。
错误提示截图:
如果损坏严重,则会出现连续的错误消息(味精824),详情如下:
SQL Server检测到一个基于逻辑一致性的I/O错误:错误的校验和(预期:0x3d17dfef;实际:0 xd81748ef)。它发生在读取文件' xxxx.mdf '中数据库ID 39中偏移量为0000000000000000的页(1:0)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。
SQL Server检测到一个基于逻辑一致性的I/O错误:错误的校验和(预期:0x3d17dfef;实际:0 xd81748ef)。它发生在读取文件' xxxx.mdf '中数据库ID 39中偏移量为0000000000000000的页(1:0)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。
“xxxx。mdf '是正在修复的损坏的mdf文件的名称。
错误提示截图:
如果腐败更严重,你可能会看到味精7909遵循味精824:
' xxxx '的DBCC结果。
CHECKDB在数据库“xxxx”中发现0个分配错误和0个一致性错误。
指令824,24层,状态2,8号线
SQL Server检测到一个基于逻辑一致性的I/O错误:错误的校验和(预期:0xcfcd2118;实际:0 x6fc599d6)。它发生在读取文件' xxxx.mdf '中数据库ID 39中偏移量0x00000000002000的页面(1:1)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。
编号7909,20层,状态1,8号线
紧急模式修复失败。必须从备份中恢复。
其中' xxxx '是数据库名,' xxxx. xml '是数据库名。Mdf '是数据库物理文件名。
请注意味精7909这是一个严重的错误,可能发生在许多情况下,每当SQL Server认为数据库是不可恢复的。
错误提示截图:
精确的解释:
MDF文件中的数据存储为8KB页面.每个页面都有一个可选的校验和字段。
如果DBCC CHECKDB命令在头页、PFS页和一些数据页中发现校验和值无效且无法纠正该问题,则它将报告此错误(味精824).如果腐蚀严重,则可能出现连续错误(味精824)或接著另一个错误(味精7909).
你可以使用我们的产品DataNumen SQL恢复从损坏的MDF文件中恢复数据并解决此错误。
示例文件:
将导致错误的损坏MDF文件示例(单个Msg 824错误):
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
SQL Server 2014 | Error1_3.mdf | Error1_3_fixed.mdf |
将导致错误的损坏MDF文件示例(连续824个错误):
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
SQL Server 2014 | Error1_1.mdf | Error1_1_fixed.mdf |
将导致错误的损坏MDF文件示例(Msg 824错误,接着是Msg 7909错误):
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
SQL Server 2014 | Error1_2.mdf | Error1_2_fixed.mdf |