You have VMWare ESX Virtual machine that is running either Windows Server 2008 or Windows Server 2008 R2 as guest OS.
You have configured guest VM to use PVSCSI (Paravirtual SCSI) adapters from VMware. Paravirtual SCSI configurations use PVSCSI.sys driver in ESX environments.
In this environment, if you run an instance of either SQL Server 2008 or SQL Server 2008 R2, you may notice error messages that resemble the following:
Error message 1
Error: 17053, Severity: 16, State: 1.
LogWriter: Operating system error 1117(The request could not be performed because of an I/O device error.) encountered.
Write error during log flush.
Error: 9001, Severity: 21, State: 4.
The log for database 'DBNAME' is not available
spid51 Error: 9001, Severity: 21, State: 4.
spid51 The log for database 'DBNAME' is not available. Check the event log for related error messages. Resolve any errors and restart the database.
spid12s Error: 9001, Severity: 21, State: 4.
spid12s The log for database 'DBNAME' is not available. Check the event log for related error messages. Resolve any errors and restart the database.
spid51 Database DBNAME was shutdown due to error 9001 in routine 'XdesRMFull::Commit'. Restart for non-snapshot databases will be attempted after all connections to the database are aborted.
Error message 2
Error: 823, Severity: 24, State: 3.
The operating system returned error 1117(The request could not be performed because of an I/O device error.) to SQL Server during a write at offset 0x000000b5940000 in file 'H:\MSSQL\DBNAME.MDF'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level 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.
spid10s Error: 18400, Severity: 16, State: 1.
spid10s The background checkpoint thread has encountered an unrecoverable error. The checkpoint process is terminating so that the thread can clean up its resources. This is an informational message only. No user action is required.
Error message 3
spid13s Error: 17053, Severity: 16, State: 1.
spid13s ReadFileHdr: Operating system error 1117(The request could not be performed because of an I/O device error.) encountered.
spid13s Error: 5159, Severity: 24, State: 3.
spid13s Operating system error 1117(The request could not be performed because of an I/O device error.) on file "H:\MSSQL\DBNAME_log.LDF" during ReadFileHdr.
Furthermore, the issue is sporadic and follows no observable pattern or trend. At times the above I/O errors can occur when SQL Server sends an I/O request as part of the Transaction Log Flush operation. A failure in that operation could cause the database to go offline and to start the database recovery process.
To resolve this issue, we recommend that you follow the steps that are described in the following article in the VMware Knowledge Base:
For more information about SQL error message 823 and about the SQL Server I/O process, click the following article number to view the article in the Microsoft Knowledge Base:
828339 Error message 823 may indicate hardware problems or system problems in SQL Server
Note that the errors that are discussed in the "Symptoms" section have other causes. The current article is applicable only when OS error 1117 is part of the error message.
VMWare has acknowledged that this issue affects the following VMWare ESX versions when using a paravirtual SCSI adapter:
ESX/ESXi 4.0 U1
For more information on this issue and related patches, please refer to the VMWare Knowledge base article 2004578 given in the Resolution section.We strongly recommend that you work with VMware support to mitigate this issue.
The following table provides 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 against which the rule is evaluated.
Product versions against which the rule is evaluated
System Center Advisor
Virtual machine SCSI configuration can cause stability problems for SQL Server
System Center Advisor determines whether this SQL Server is running on a VMware Virtual Platform that is configured to use VMware PVSCSI Controller. Follow the instructions from VMWare article referenced in this article to resolve the issue.
SQL Server 2008 SQL Server 2008 R2 SQL Server 2012
The information and the solution in this document represents the current view of Microsoft Corporation on these issues as of the date of publication. This solution is available through Microsoft or through a third-party provider. Microsoft does not specifically recommend any third-party provider or third-party solution that this article might describe. There might also be other third-party providers or third-party solutions that this article does not describe. Because Microsoft must respond to changing market conditions, this information should not be interpreted to be a commitment by Microsoft. Microsoft cannot guarantee or endorse the accuracy of any information or of any solution that is presented by Microsoft or by any mentioned third-party provider.
Microsoft makes no warranties and excludes all representations, warranties, and conditions whether express, implied, or statutory. These include but are not limited to representations, warranties, or conditions of title, non-infringement, satisfactory condition, merchantability, and fitness for a particular purpose, with regard to any service, solution, product, or any other materials or information. In no event will Microsoft be liable for any third-party solution that this article mentions.
Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 Developer