​Windows System Event Log Errors that indicate possible I/O problems can be associated with database inconsistency or performance problems for SQL Server

Applies to: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Enterprise X64 Edition More

Symptoms


You may see the following errors in the Windows System Event Log which can be indicators of system problems that can contribute to SQL Server database inconsistency or performance problems:

EventIDMessage
9The device, <device name>, did not respond within the timeout period
11The driver detected a controller error on <device>
15The device, <device>, is not ready for access yet
50{Delayed Write Failed} Windows was unable to save all the data for the file. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere
51An error was detected on device <device path> during a paging operation
54An Io Request to the device <device> did not complete or canceled within the specific timeout. This can occur if the device driver does not set a cancel routine for a given IO request packet.
55The file system structure on the disk is corrupt and unusable. Please run the chkdsk utility on the volume <drive letter>
57The system failed to flush data to the transaction log. Corruption may occur
129Reset to device, <device name>, was issued.
1066Cluster disk resource Disk <x> : is corrupt. Running ChkDsk /F to repair problems.
6008The previous system shutdown at <time> on <date> was unexpected.

The errors are only related to SQL Server problems if the device or disk associated with the error is used to store SQL Server database or transaction log files.

Cause


The cause of these errors depends on the specific error but is usually related to a problem with a device driver, firmware, or hardware failure of a storage device.

Resolution


The resolution of these errors depends on the specific error. Before you attempt to correct a SQL Server database inconsistency problem via restore or repair, you should carefully consider resolving the cause of any associated System Event Log error

You can visit the references for respective Event IDs from the list below to find more information about the event.

More Information


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:

Rule software



Rule title



Rule description



Product versions against which the rule is evaluated
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)










This system experienced problems related to I/O requests.

This system experienced unexpected shutdowns






The SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) provides a rule to detect if any of the events listed in the Symptoms section are found in the Windows System Event Log. The SQL Server 2008 R2 BPA supports both SQL Server 2008 and SQL Server 2008 R2. If you run the BPA tool and encounter an Error with the title of Engine - This system experienced problems related to I/O requests, then you have one of the EventID values as listed in the Symptoms section of this article in your Windows System Event Log. In all cases, the correct EventID is detected based on the message text or source (these EventID values can be used with other sources). BPA does not filter on any date/time so it will report the number of occurrences of these events in your current Event Log. 

Another rule for SQL Server 2008 R2 BPA detects specifically EventID=6008 which is for unexpected system shutdowns. In some situations, an unexpected system shutdown can lead to consistency problems such as torn pages. This condition will be encountered if BPA detects an Error with the title of Engine - This system experienced unexpected shutdowns
SQL Server 2008
SQL Server 2008 R2












SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)








This system experienced problems related to I/O requests.

This system experienced unexpected shutdowns




The SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) provides a rule to detect if any of the events listed in the Symptoms section are found in the Windows System Event Log.If you run the BPA tool and encounter an Error with the title of Engine - This system experienced problems related to I/O requests, then you have one of the EventID values as listed in the Symptoms section of this article in your Windows System Event Log. In all cases, the correct EventID is detected based on the message text or source (these EventID values can be used with other sources). BPA does not filter on any date/time so it will report the number of occurrences of these events in your current Event Log. 

Another rule for SQL Server 2012 BPA detects specifically EventID=6008 which is for unexpected system shutdowns. In some situations, an unexpected system shutdown can lead to consistency problems such as torn pages. This condition will be encountered if BPA detects an Error with the title of Engine - This system experienced unexpected shutdowns
SQL Server 2012