BI SQL # 184 : SQL Server DBA Scripts : Pending IO Requests
Hi Folks,
In this article we are going to cover Pending IO Requests.
In this post we are going to discuss following points:
- Problem Statement of SQL Script:
- Description of SQL Script:
- SQL Script Output Column
- SQL Script Code
- SQL Script Output Screenshot
- User Level to execute
Problem Statement of SQL Script:
Find Pending IO Requests.
Description of SQL Script:
This Transact-SQL script lists all Pending IO Requests.
SQL Script Output Column
SQL Script Code
WITH pir AS ( SELECT PIR.scheduler_address ,COUNT(*) AS PendIoRequests ,SUM(PIR.io_pending_ms_ticks) AS PendWaitTime FROM sys.dm_io_pending_io_requests AS PIR GROUP BY PIR.scheduler_address ) ,req AS ( SELECT ER.task_address ,COUNT(*) AS ReqCnt ,COUNT(DISTINCT ER.database_id) AS ReqDbCnt ,SUM(ER.wait_time) AS ReqWaitTime FROM sys.dm_exec_requests AS ER GROUP BY ER.task_address ) SELECT OS.scheduler_id AS Scheduler ,OS.cpu_id AS CpuId ,CASE WHEN OS.scheduler_id < 1048576 THEN 'Query' ELSE 'Internal' END AS Scheduler ,OS.[status] AS OsStatus ,OS.current_workers_count AS CurrWrk ,OS.active_workers_count AS ActWrk ,OS.pending_disk_io_count AS pDiskIo ,OW.pending_io_count AS pIoCount ,OW.pending_io_byte_count AS pIoBytes ,OW.[state] AS WorkerState ,req.ReqDbCnt ,req.ReqCnt ,req.ReqWaitTime ,pir.PendIoRequests ,pir.PendWaitTime FROM sys.dm_os_schedulers AS OS INNER JOIN sys.dm_os_workers AS OW ON OS.active_worker_address = OW .worker_address -- Change it to INNER join to get only pending schedulers LEFT JOIN pir ON pir.scheduler_address = OS.scheduler_address LEFT JOIN req ON req.task_address = OW.task_address ORDER BY OS.scheduler_id;
SQL Script Output Screenshot
User Level to execute
300
Hope you will like to Pending IO Requests.
If you really like reading my blog and understood at least few thing then please don’t forget to subscribe my blog.
If you want daily link and analysis or interesting link go to following website which will give @ your inbox please subscribe our following link resource blog :
For More information related to BI World visit my Mentalist Blog
SQL Server Mentalist >> SQL Learning Blog
Business Intelligence Mentalist >> BI World
Infographic Mentalist >> Image worth explaining thousand Words
Microsoft Mentalist >> MVC,ASP.NET, WCF & LinQ
DBA Mentalist >>Advance SQL Server Blog
Microsoft BI Mentalist >> MS BI Development Update
Connect With me on