Causes of long I/O requests

All I/Os are issued in the calling threads unless the affinity I/O option is in use. The

All I/Os are issued in the calling threads unless the affinity I/O option is in use. The

affinity

I/O mask

option binds SQL Server disk I/O to a specified subset of CPUs. In high-end SQL

Server online transactional processing (OLTP) environments, this extension can enhance the

performance of SQL Server threads issuing I/Os.

Multiple page I/Os are accomplished with scatter-gather I/O, which allows data to be

transferred into or out of noncontiguous areas of memory. SQL Server can quickly fill or

flush the buffer cache while avoiding multiple physical I/O requests.

The buffer manager reports any I/O request that is outstanding for at least 15 seconds. This

process helps the system administrator distinguish between SQL Server problems and I/O

subsystem problems. Error message

MSSQLSERVER_833

is reported and appears in the SQL

Server error log as follows:

A long I/O can be either a read or a write operation. The message doesn’t currently indicate

which. Long-I/O messages are warnings, not errors. They don’t indicate problems with SQL Server

but with the underlying I/O system. The messages help the system administrator find the cause

of poor SQL Server response times more quickly, and distinguish problems that are outside the

control of SQL Server. As such, they don’t require any action, but the system administrator should

investigate why the I/O request took so long, and whether the time is justifiable.

A long I/O message can indicate that an I/O is permanently blocked and will never complete

(known as lost I/O), or merely that it isn’t complete yet. You can’t tell from the message which

scenario is the case, although a lost I/O often leads to a latch timeout.

Long I/Os often indicate a SQL Server workload that’s too intense for the disk subsystem. An

inadequate disk subsystem might be indicated when:

Multiple long I/O messages appear in the error log during a heavy SQL Server workload.

Performance Monitor counters show long disk latencies, long disk queues, or no disk idle

time.

has encountered ## occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [##] in database [##] (#). The OS file handle is 0x00000.
The offset of the latest long I/O is: 0x00000.