The Operating System Returned Error 21.
Applies to: Microsoft SQL Server 2005 SP3, Windows Server 2008 SP2.
Problem Description.
Reviewing the SQL Server error log we found the following error:
Date 5/5/2010 9:00:26 AM
Log SQL Server (Current - 4/5/2010 10:31:00 AM)
Source spid56
Message
The operating system returned error 21(The device is not ready.) to SQL Server
during a read at offset 0x00000000056000 in file 'X:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\xxxxx.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.
Cause.
We had some issues with the FLARE storage operating environment of our EMC
CLARiiON CX3. FLARE was disconnecting unexpectedly servers connected to the CX3.
Solution.
We updated FLARE on the CX3 and it solved the problem. During this update
process, computers connected to the SAN experienced temporarily some
disconnections.
After the update was applied, we restarted the server where the SQL Server
instance is installed. Finally we ran a consistency check on the drive attached
to the CX3 and on every database on the SQL Server instance.