Disk I/O

I/O fundamentals

I/O fundamentals

on Azure Virtual

Machines

The primary purpose of a SQL Server database is to store and retrieve data, so intensive disk

input/output (I/O) is a core characteristic of the Database Engine. Because disk I/O operations

can consume many resources and take a relatively long time to finish, SQL Server focuses on

making I/O highly efficient.

Storage subsystems for SQL Server are available in multiple form factors, including mechanical

drives and solid-state storage. This article provides details on how to use drive caching principles

to improve Database Engine I/O.

requires that systems support

guaranteed delivery to stable media

as outlined under

the

I/O Reliability Program Requirements.

This requirement includes, but isn’t limited to, the following conditions:

Windows Hardware Compatibility Program

Write ordering

Caching stability

No data rewrites

Systems that meet these requirements support SQL Server database storage. Systems don’t have

to be listed on SQL Server storage solutions programs, but they must guarantee that the

requirements are met.

The buffer manager only performs reads and writes to the database. Other file and database

operations, such as open, close, extend, and shrink, are handled by the database manager and file

manager components.

Disk I/O operations by the buffer manager have the following characteristics:

I/O is typically performed asynchronously, which allows the calling thread to continue

processing while the I/O operation takes place in the background. Under some

circumstances, such as misaligned log I/O, synchronous I/Os can occur.