## Kedy použiť Pri diagnostike PAGELATCH, LCK, PAGEIOLATCH, RESOURCE_SEMAPHORE alebo CXPACKET / CXCONSUMER. ## Ako čítať výsledok `wait_type` a `resource_description` určujú triedu problému (napr. `2:1:1` = tempdb, súbor 1, PFS stránka). `blocking_session_id` je dôležitý najmä pri zámkoch. > [!WARNING] > Pri paralelnom pláne má jeden request viac riadkov (`exec_context_id`) – to je normálne. Je to momentka, nie dlhodobá metrika. **Oprávnenia:** `VIEW SERVER STATE` (na SQL Server 2022 stačí aj `VIEW SERVER PERFORMANCE STATE`). **Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022 ## Súvisiace recepty - [Wait stats – na čo server čaká](script.php?id=6&s=wait-stats-na-co-server-caka)
Skript
Aktuálne čakania na úrovni taskov
Práve čakajúce tasky používateľských session s typom čakania, trvaním, blockerom a resource_description.
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | Aktuálne čakania na úrovni taskov
Účel: Práve čakajúce tasky používateľských session s typom čakania, trvaním, blockerom a resource_description.
Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;
SELECT wt.session_id,
wt.exec_context_id,
wt.wait_type,
wt.wait_duration_ms,
wt.blocking_session_id,
wt.resource_description,
s.login_name,
s.program_name,
r.status AS request_status,
DB_NAME(r.database_id) AS database_name
FROM sys.dm_os_waiting_tasks AS wt
JOIN sys.dm_exec_sessions AS s ON s.session_id = wt.session_id
LEFT JOIN sys.dm_exec_requests AS r ON r.session_id = wt.session_id
WHERE s.is_user_process = 1
ORDER BY wt.wait_duration_ms DESC;