Symptom:
When attaching a .MDF database in SQL Server, you see the following error message:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0x2abc3894; actual: 0x2ebe208e). It occurred during a read of page (1:1) in database ID 12 at offset 0x00000000002000 in file ‘xxx.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.(Microsoft SQL Server, Error:824)
where ‘xxx.mdf’ is name of the MDF file being accessed.
Sometimes you the .MDF database may be attached successfully. However, when you try to execute a SQL statement, such as
SELECT * FROM [TestDB].[dbo].[test_table_1]
you will also get the above error message.
Screenshot of error message:
Precise Explanation:
The data in MDF file are stored as pages, each page is 8KB. Each page has an optional checksum field.
If SQL Server finds the checksum values in some of the data pages are invalid, then it will report this error.
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 error:
SQL Server version | Corrupt MDF file | MDF file fixed by DataNumen SQL Recovery |
SQL Server 2005 | Error4_1.mdf | Error4_1_fixed.mdf |
SQL Server 2008 R2 | Error4_2.mdf | Error4_2_fixed.mdf |
SQL Server 2012 | Error4_3.mdf | Error4_3_fixed.mdf |
SQL Server 2014 | Error4_4.mdf | Error4_4_fixed.mdf |