Article ID: 2015757 - View products that this article applies to.
When an I/O error is detected by SQL Server (Msg 823 or 824), it will retry the operation up to four times before failing the read or write operation. If the operation is successful after one of the retry attempts, the query that required the read or write will not fail but you will see a message in the ERROROG like the following:
2010-03-31 21:06:54.34 spid52 A read of the file 'C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\mydb.mdf' at offset 0x00000000132000 succeeded after failing 2 time(s) with error: incorrect checksum (expected: 0xffd99027; actual: 0x331d106f). Additional messages in the SQL Server error log and system event log may provide more detail. This error condition threatens database integrity and must be corrected. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
An Information Level message will be written into the Windows Appliction Event Log with EventID = 825. Since the operation was successful after one or more retry attempts, the client application does not see any error or this message.
The cause of this problem is similar to cause as if the Msg 823 or 824 error ccurred. The message in the ERRORLOG contains the proper context including the original error to troubleshoot the possible cause. Please see the causes of Msg 823 or 824 errors in the following articles for more information:
Since the server has been able to successfully retry the operation, there is no immediate action for you to take. However, the retry operation indicates an underlying problem that should be investigated. You should use the same techniques for this investigation as if a Msg 823 or 824 error occurred. Use the articles listed in the Cause section as a guide.
One consideration is to use the SQLIOSim tool against the drive reporting this message during the next appropriate window to test I/O integrity.
Msg 825 is often referred as the read retry warning but technically the retry can be for a read or write operation. The message indicates if the operation was based on a read or write. Furthermore, the message indicates the number of retry attempts required for the operation to be successful.
This concept was introduced in SQL Server 2005 because testing and past experience had shown that in some situations an I/O error can be successful if you retry the operation. SQL Server will retry these operations up to four times (this limit is not configurable) and after this raise the original 823 or 824 error.
For more information about the products or tools that automatically check for this condition on your instance of SQL Server and on the versions of the SQL Server product, see the following table:
(http://go.microsoft.com/fwlink/?LinkId=151500)for other considerations.
Article ID: 2015757 - Last Review: July 9, 2012 - Revision: 5.0