MSSQL error: consistency-based I/O error - can it be caused by an MSSQL or OS problem?
- by Philipp Keller
This is what I saw in the windows error log:
SQL Server detected a logical consistency-based I/O error:
incorrect checksum (expected: 0x19fedd20; actual: 0x19fed5e3).
It occurred during a read of page (1:1764) in database ID 6 at offset 0x00000000dc8000 in file
'D:\mssql\local_repository_pbdiffimport.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.
I ran
dbcc checkdb
which told me I should restore with option REPAIR_ALLOW_DATA_LOSS, so I eventually ran
DBCC CHECKDB (my_db_name, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS
But that resulted in about 2'000 rows being lost. I restored a backup but now I'm afraid this will happen again since we already had a consistency problem in the same database about 2 weeks ago but then it happened in an index (recreated indexes solved the problem).
We have investigated the discs - RAID5 looks good, no errors, and also none of the disc-check-utilities have revealed any hardware problem.
Can this be caused by OS (Windows Server 2003) or by MSSQL (MSSQL Server 2005)?