Zwraca informacje o kolejce oczekiwania zadań, które oczekują na jakiś zasób. Aby uzyskać więcej informacji o zadaniach, zobacz Przewodnik po wątkach i architekturze zadań.
Uwaga
Aby wywołać to z usługi Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_os_waiting_tasks. Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.
Nazwa kolumny
Typ danych
Opis
waiting_task_address
Odmiana(8)
Adres zadania oczekującego.
session_id
Smallint
Identyfikator sesji skojarzonej z zadaniem.
exec_context_id
Int
Identyfikator kontekstu wykonania skojarzonego z zadaniem.
wait_duration_ms
bigint
Całkowity czas oczekiwania dla tego typu oczekiwania, w milisekundach. Ten czas obejmuje signal_wait_time.
wait_type
Nvarchar(60)
Nazwa typu oczekiwania.
resource_address
Odmiana(8)
Adres zasobu, na który oczekuje zadanie.
blocking_task_address
Odmiana(8)
Zadanie, w którym obecnie znajduje się ten zasób
blocking_session_id
Smallint
Identyfikator sesji, która blokuje żądanie. Jeśli ta kolumna ma wartość NULL, żądanie nie jest blokowane lub informacje o sesji blokującej są niedostępne (lub nie można ich zidentyfikować).
-2 = Właścicielem zasobu blokującego jest oddzielona transakcja rozproszona.
-3 = Zasób blokujący jest własnością transakcji odzyskiwania odroczonego.
-4 = Nie można określić identyfikatora sesji właściciela zatrzasku blokującego z powodu wewnętrznych przejść stanu zatrzasku.
blocking_exec_context_id
Int
Identyfikator kontekstu wykonywania zadania blokującego.
resource_description
Nvarchar(3072)
Opis zużywanego zasobu. Aby uzyskać więcej informacji, zobacz poniższą listę.
pdw_node_id
Int
Dotyczy: Azure Synapse Analytics, Analytics Platform System (PDW)
Identyfikator węzła, na którym znajduje się ta dystrybucja.
resource_description kolumna
Kolumna resource_description zawiera następujące możliwe wartości.
On SQL Server and SQL Managed Instance, requires permission.VIEW SERVER STATE
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 server role is required. On all other SQL Database service objectives, either the permission on the database, or membership in the server role is required.##MS_ServerStateReader##VIEW DATABASE STATE##MS_ServerStateReader##
Permissions for SQL Server 2022 and later
Requires VIEW SERVER PERFORMANCE STATE permission on the server.
Example
A. Identify tasks from blocked sessions.
SQL
SELECT * FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id ISNOTNULL;
B. View waiting tasks per connection
SQL
SELECT st.text AS [SQLText], c.connection_id, w.session_id,
w.wait_duration_ms, w.wait_type, w.resource_address,
w.blocking_session_id, w.resource_description, c.client_net_address, c.connect_time
FROM sys.dm_os_waiting_tasks AS w
INNERJOIN sys.dm_exec_connections AS c ON w.session_id = c.session_id
CROSSAPPLY (SELECT * FROM sys.dm_exec_sql_text(c.most_recent_sql_handle)) AS st
WHERE w.session_id > 50AND w.wait_duration_ms > 0ORDERBY c.connection_id, w.session_id
GO
C. View waiting tasks for all user processes with additional information
SQL
SELECT'Waiting_tasks'AS [Information], owt.session_id,
owt.wait_duration_ms, owt.wait_type, owt.blocking_session_id,
owt.resource_description, es.program_name, est.text,
est.dbid, eqp.query_plan, er.database_id, es.cpu_time,
es.memory_usage*8AS memory_usage_KB
FROM sys.dm_os_waiting_tasks owt
INNERJOIN sys.dm_exec_sessions es ON owt.session_id = es.session_id
INNERJOIN sys.dm_exec_requests er ON es.session_id = er.session_id
OUTERAPPLY sys.dm_exec_sql_text (er.sql_handle) est
OUTERAPPLY sys.dm_exec_query_plan (er.plan_handle) eqp
WHERE es.is_user_process = 1ORDERBY owt.session_id;
GO