sys.dm_io_pending_io_requests (Transact-SQL)

Applies to: SQL Server (all supported versions) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Returns a row for each pending I/O request in SQL Server.


To call this from Azure Synapse Analytics or Analytics Platform System (PDW), use the name sys.dm_pdw_nodes_io_pending_io_requests. This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.

Column name Data type Description
io_completion_request_address varbinary(8) Memory address of the IO request. Is not nullable.
io_type nvarchar(60) Type of pending I/O request. Is not nullable.
io_pending_ms_ticks bigint Internal use only. Is not nullable.
io_pending int Indicates whether the I/O request is pending (1) or has been completed by the operating system (0). An I/O request can still be pending even when OS has completed the request, but SQL Server has not yet performed a context switch in which it would process the I/O request and remove it from this list. Is not nullable.
0 = Pending SQL Server
1 = Pending OS
io_completion_routine_address varbinary(8) Internal function to call when the I/O request is completed. Is nullable.
io_user_data_address varbinary(8) Internal use only. Is nullable.
scheduler_address varbinary(8) Scheduler on which this I/O request was issued. The I/O request will appear on the pending I/O list of the scheduler. For more information, see sys.dm_os_schedulers (Transact-SQL). Is not nullable.
io_handle varbinary(8) File handle of the file that is used in the I/O request. Is nullable.
io_offset bigint Offset of the I/O request. Is not nullable.
io_handle_path nvarchar(256) Path of file that is used in the I/O request. Is nullable.
pdw_node_id int Applies to: Azure Synapse Analytics, Analytics Platform System (PDW)

The identifier for the node that this distribution is on.


On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.

On SQL Database Basic, S0, and S1 service objectives, and for databases in elastic pools, the server admin account, the Azure Active Directory admin account, or membership in the ##MS_ServerStateReader## server role is required. On all other SQL Database service objectives, either the VIEW DATABASE STATE permission on the database, or membership in the ##MS_ServerStateReader## server role is required.

See Also

Dynamic Management Views and Functions (Transact-SQL)
I O Related Dynamic Management Views and Functions (Transact-SQL)