Symptom:

When using DBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS parameter to repair a corrupt .MDF database, like this:

DBCC CHECKDB(xxxx, ‘REPAIR_ALLOW_DATA_LOSS’)

you see the following error message:

Repair: The Clustered index successfully rebuilt for the object “sysobjvalues” in database “Error1”.
Repair: The Nonclustered index successfully rebuilt for the object “syscolpars” in database “Error1”.
DBCC results for ‘Error1’.
DBCC results for ‘sys.sysrscols’.
There are 1092 rows in 14 pages for object “sys.sysrscols”.
DBCC results for ‘sys.sysrowsets’.
There are 148 rows in 3 pages for object “sys.sysrowsets”.
DBCC results for ‘sys.sysclones’.
There are 0 rows in 0 pages for object “sys.sysclones”.
DBCC results for ‘sys.sysallocunits’.
There are 172 rows in 2 pages for object “sys.sysallocunits”.
DBCC results for ‘sys.sysfiles1’.
There are 2 rows in 1 pages for object “sys.sysfiles1”.
DBCC results for ‘sys.sysseobjvalues’.
There are 0 rows in 0 pages for object “sys.sysseobjvalues”.
DBCC results for ‘sys.syspriorities’.
There are 0 rows in 0 pages for object “sys.syspriorities”.
DBCC results for ‘sys.sysdbfrag’.
There are 0 rows in 0 pages for object “sys.sysdbfrag”.
DBCC results for ‘sys.sysfgfrag’.
There are 0 rows in 0 pages for object “sys.sysfgfrag”.
DBCC results for ‘sys.sysdbfiles’.
There are 2 rows in 1 pages for object “sys.sysdbfiles”.
DBCC results for ‘sys.syspru’.
There are 0 rows in 0 pages for object “sys.syspru”.
DBCC results for ‘sys.sysbrickfiles’.
There are 0 rows in 0 pages for object “sys.sysbrickfiles”.
DBCC results for ‘sys.sysphfg’.
There are 1 rows in 1 pages for object “sys.sysphfg”.
DBCC results for ‘sys.sysprufiles’.
There are 2 rows in 1 pages for object “sys.sysprufiles”.
DBCC results for ‘sys.sysftinds’.
There are 0 rows in 0 pages for object “sys.sysftinds”.
DBCC results for ‘sys.sysowners’.
There are 14 rows in 1 pages for object “sys.sysowners”.
DBCC results for ‘sys.sysdbreg’.
There are 0 rows in 0 pages for object “sys.sysdbreg”.
DBCC results for ‘sys.sysprivs’.
There are 140 rows in 1 pages for object “sys.sysprivs”.
DBCC results for ‘sys.syscolpars’.
Repair: The page (1:63) has been deallocated from object ID 41, index ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data).
Repair: The Nonclustered index successfully rebuilt for the object “sys.syscolpars, nc” in database “Error1”.
Msg 8945, Level 16, State 1, Line 8
Table error: Object ID 41, index ID 1 will be rebuilt.
Could not repair this error.
Msg 8978, Level 16, State 1, Line 8
Table error: Object ID 41, index ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data). Page (1:61) is missing a reference from previous page (1:63). Possible chain linkage problem.
The error has been repaired.
Msg 8928, Level 16, State 1, Line 8
Object ID 41, index ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data): Page (1:63) could not be processed. See other errors for details.
The error has been repaired.
Msg 8939, Level 16, State 98, Line 8
Table error: Object ID 41, index ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data), page (1:63). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 2057 and -4.
The error has been repaired.
Msg 8976, Level 16, State 1, Line 8
Table error: Object ID 41, index ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data). Page (1:63) was not seen in the scan although its parent (1:111) and previous (1:168) refer to it. Check any previous errors.
The error has been repaired.
Msg 8945, Level 16, State 1, Line 8
Table error: Object ID 41, index ID 2 will be rebuilt.
The error has been repaired.
There are 881 rows in 15 pages for object “sys.syscolpars”.
CHECKDB found 0 allocation errors and 4 consistency errors in table ‘sys.syscolpars’ (object ID 41).
CHECKDB fixed 0 allocation errors and 4 consistency errors in table ‘sys.syscolpars’ (object ID 41).
DBCC results for ‘sys.sysxlgns’.
There are 0 rows in 0 pages for object “sys.sysxlgns”.
DBCC results for ‘sys.sysxsrvs’.
There are 0 rows in 0 pages for object “sys.sysxsrvs”.
DBCC results for ‘sys.sysnsobjs’.
There are 1 rows in 1 pages for object “sys.sysnsobjs”.
DBCC results for ‘sys.sysusermsgs’.
There are 0 rows in 0 pages for object “sys.sysusermsgs”.
DBCC results for ‘sys.syscerts’.
There are 0 rows in 0 pages for object “sys.syscerts”.
DBCC results for ‘sys.sysrmtlgns’.
There are 0 rows in 0 pages for object “sys.sysrmtlgns”.
DBCC results for ‘sys.syslnklgns’.
There are 0 rows in 0 pages for object “sys.syslnklgns”.
DBCC results for ‘sys.sysxprops’.
There are 0 rows in 0 pages for object “sys.sysxprops”.
DBCC results for ‘sys.sysscalartypes’.
There are 34 rows in 1 pages for object “sys.sysscalartypes”.
DBCC results for ‘sys.systypedsubobjs’.
There are 0 rows in 0 pages for object “sys.systypedsubobjs”.
DBCC results for ‘sys.sysidxstats’.
There are 207 rows in 5 pages for object “sys.sysidxstats”.
DBCC results for ‘sys.sysiscols’.
There are 399 rows in 2 pages for object “sys.sysiscols”.
DBCC results for ‘sys.sysendpts’.
There are 0 rows in 0 pages for object “sys.sysendpts”.
DBCC results for ‘sys.syswebmethods’.
There are 0 rows in 0 pages for object “sys.syswebmethods”.
DBCC results for ‘sys.sysbinobjs’.
There are 23 rows in 1 pages for object “sys.sysbinobjs”.
DBCC results for ‘sys.sysaudacts’.
There are 0 rows in 0 pages for object “sys.sysaudacts”.
DBCC results for ‘sys.sysobjvalues’.
Repair: The Clustered index successfully rebuilt for the object “sys.sysobjvalues” in database “Error1”.
Repair: The page (1:24) has been deallocated from object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data).
Repair: Deleted off-row data column with ID 742981632, for object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data) on page (1:369), slot 0.
Repair: Deleted off-row data column with ID 742981632, for object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data) on page (1:370), slot 0.
Repair: Deleted off-row data column with ID 742981632, for object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data) on page (1:371), slot 0.
Msg 8945, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1 will be rebuilt.
The error has been repaired.
Msg 8928, Level 16, State 1, Line 8
Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data): Page (1:24) could not be processed. See other errors for details.
The error has been repaired.
Msg 8939, Level 16, State 98, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data), page (1:24). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 2057 and -4.
The error has been repaired.
Msg 8939, Level 16, State 98, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data), page (1:24). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 2057 and -4.
The error has been repaired.
Msg 8976, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data). Page (1:24) was not seen in the scan although its parent (1:43) and previous (1:213) refer to it. Check any previous errors.
The error has been repaired.
Msg 8978, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data). Page (1:210) is missing a reference from previous page (1:24). Possible chain linkage problem.
The error has been repaired.
Msg 8964, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:369), slot 0, text ID 742981632 is not referenced.
The error has been repaired.
Msg 8964, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:370), slot 0, text ID 742981632 is not referenced.
The error has been repaired.
Msg 8964, Level 16, State 1, Line 8
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:371), slot 0, text ID 742981632 is not referenced.
The error has been repaired.
There are 203 rows in 20 pages for object “sys.sysobjvalues”.
CHECKDB found 0 allocation errors and 8 consistency errors in table ‘sys.sysobjvalues’ (object ID 60).
CHECKDB fixed 0 allocation errors and 8 consistency errors in table ‘sys.sysobjvalues’ (object ID 60).
DBCC results for ‘sys.syscscolsegments’.
There are 0 rows in 0 pages for object “sys.syscscolsegments”.
DBCC results for ‘sys.syscsdictionaries’.
There are 0 rows in 0 pages for object “sys.syscsdictionaries”.
DBCC results for ‘sys.sysclsobjs’.
There are 16 rows in 1 pages for object “sys.sysclsobjs”.
DBCC results for ‘sys.sysrowsetrefs’.
There are 0 rows in 0 pages for object “sys.sysrowsetrefs”.
DBCC results for ‘sys.sysremsvcbinds’.
There are 0 rows in 0 pages for object “sys.sysremsvcbinds”.
DBCC results for ‘sys.sysxmitqueue’.
There are 0 rows in 0 pages for object “sys.sysxmitqueue”.
DBCC results for ‘sys.sysrts’.
There are 1 rows in 1 pages for object “sys.sysrts”.
DBCC results for ‘sys.sysconvgroup’.
There are 0 rows in 0 pages for object “sys.sysconvgroup”.
DBCC results for ‘sys.sysdesend’.
There are 0 rows in 0 pages for object “sys.sysdesend”.
DBCC results for ‘sys.sysdercv’.
There are 0 rows in 0 pages for object “sys.sysdercv”.
DBCC results for ‘sys.syssingleobjrefs’.
There are 171 rows in 1 pages for object “sys.syssingleobjrefs”.
DBCC results for ‘sys.sysmultiobjrefs’.
There are 107 rows in 1 pages for object “sys.sysmultiobjrefs”.
DBCC results for ‘sys.sysguidrefs’.
There are 0 rows in 0 pages for object “sys.sysguidrefs”.
DBCC results for ‘sys.sysfoqueues’.
There are 0 rows in 0 pages for object “sys.sysfoqueues”.
DBCC results for ‘sys.syschildinsts’.
There are 0 rows in 0 pages for object “sys.syschildinsts”.
DBCC results for ‘sys.syscompfragments’.
There are 0 rows in 0 pages for object “sys.syscompfragments”.
DBCC results for ‘sys.sysftsemanticsdb’.
There are 0 rows in 0 pages for object “sys.sysftsemanticsdb”.
DBCC results for ‘sys.sysftstops’.
There are 0 rows in 0 pages for object “sys.sysftstops”.
DBCC results for ‘sys.sysftproperties’.
There are 0 rows in 0 pages for object “sys.sysftproperties”.
DBCC results for ‘sys.sysxmitbody’.
There are 0 rows in 0 pages for object “sys.sysxmitbody”.
DBCC results for ‘sys.sysfos’.
There are 0 rows in 0 pages for object “sys.sysfos”.
DBCC results for ‘sys.sysqnames’.
There are 98 rows in 1 pages for object “sys.sysqnames”.
DBCC results for ‘sys.sysxmlcomponent’.
There are 100 rows in 1 pages for object “sys.sysxmlcomponent”.
DBCC results for ‘sys.sysxmlfacet’.
There are 112 rows in 1 pages for object “sys.sysxmlfacet”.
DBCC results for ‘sys.sysxmlplacement’.
There are 19 rows in 1 pages for object “sys.sysxmlplacement”.
DBCC results for ‘sys.sysobjkeycrypts’.
There are 0 rows in 0 pages for object “sys.sysobjkeycrypts”.
DBCC results for ‘sys.sysasymkeys’.
There are 0 rows in 0 pages for object “sys.sysasymkeys”.
DBCC results for ‘sys.syssqlguides’.
There are 0 rows in 0 pages for object “sys.syssqlguides”.
DBCC results for ‘sys.sysbinsubobjs’.
There are 3 rows in 1 pages for object “sys.sysbinsubobjs”.
DBCC results for ‘sys.syssoftobjrefs’.
There are 0 rows in 0 pages for object “sys.syssoftobjrefs”.
DBCC results for ‘sys.plan_persist_plan’.
There are 0 rows in 0 pages for object “sys.plan_persist_plan”.
DBCC results for ‘sys.plan_persist_runtime_stats’.
There are 0 rows in 0 pages for object “sys.plan_persist_runtime_stats”.
DBCC results for ‘sys.plan_persist_runtime_stats_interval’.
There are 0 rows in 0 pages for object “sys.plan_persist_runtime_stats_interval”.
DBCC results for ‘sys.plan_persist_context_settings’.
There are 0 rows in 0 pages for object “sys.plan_persist_context_settings”.
DBCC results for ‘sys.sqlagent_jobs’.
There are 0 rows in 0 pages for object “sys.sqlagent_jobs”.
DBCC results for ‘sys.sqlagent_jobsteps’.
There are 0 rows in 0 pages for object “sys.sqlagent_jobsteps”.
DBCC results for ‘sys.sqlagent_job_history’.
There are 0 rows in 0 pages for object “sys.sqlagent_job_history”.
DBCC results for ‘sys.queue_messages_2009058193’.
There are 0 rows in 0 pages for object “sys.queue_messages_2009058193”.
DBCC results for ‘sys.queue_messages_2041058307’.
There are 0 rows in 0 pages for object “sys.queue_messages_2041058307”.
DBCC results for ‘sys.filestream_tombstone_2073058421’.
There are 0 rows in 0 pages for object “sys.filestream_tombstone_2073058421”.
DBCC results for ‘sys.syscommittab’.
There are 0 rows in 0 pages for object “sys.syscommittab”.
DBCC results for ‘sys.filetable_updates_2105058535’.
There are 0 rows in 0 pages for object “sys.filetable_updates_2105058535”.
DBCC results for ‘sys.plan_persist_query_text’.
There are 0 rows in 0 pages for object “sys.plan_persist_query_text”.
DBCC results for ‘sys.plan_persist_query’.
There are 0 rows in 0 pages for object “sys.plan_persist_query”.
CHECKDB found 0 allocation errors and 12 consistency errors in database ‘Error1’.
CHECKDB fixed 0 allocation errors and 12 consistency errors in database ‘Error1’.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xb7bd14b3; actual: 0xb7df14b2). It occurred during a read of page (1:24) in database ID 39 at offset 0x00000000030000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xb7bd14b3; actual: 0xb7df14b2). It occurred during a read of page (1:24) in database ID 39 at offset 0x00000000030000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xb7bd14b3; actual: 0xb7df14b2). It occurred during a read of page (1:24) in database ID 39 at offset 0x00000000030000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xc8e2ed96; actual: 0xb8a2f3df). It occurred during a read of page (1:63) in database ID 39 at offset 0x0000000007e000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xc8e2ed96; actual: 0xb8a2f3df). It occurred during a read of page (1:63) in database ID 39 at offset 0x0000000007e000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xc8e2ed96; actual: 0xb8a2f3df). It occurred during a read of page (1:63) in database ID 39 at offset 0x0000000007e000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xc8e2ed96; actual: 0xb8a2f3df). It occurred during a read of page (1:63) in database ID 39 at offset 0x0000000007e000 in file ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

where ‘Error1’ is name of the corrupt MDF database being repaired.

Msg 8945 indicates table error which is a consistency error.

Screenshot of error message:

Screenshot of error message "Table error: Object ID ##, index ID ## will be rebuilt."

Precise Explanation:

In a SQL Server MDF database, there are many system tables used to store the structure and meta data of the database.

When CHECKDB finds there are inconsistencies in one of the system tables, it will report the error message Msg 8945, 8978, 8928, 8939, etc. and try to fix the errors. If it cannot fix the error, then the recovery fails and will lead to more errors, such as Msg 824.

You can use our product DataNumen SQL Recovery to recover the data from the corrupt MDF file and solve this error.

Sample Files:

Sample corrupt MDF files that will cause the Msg 8945 error:

SQL Server version Corrupt MDF file MDF file fixed by DataNumen SQL Recovery
SQL Server 2014 Error5.mdf Error5_fixed.mdf