Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Adatokat ad vissza az egyes erőforrásokra várakozó tevékenységek várakozási várólistájáról. A tevékenységekről további információt a Szál és a Feladatarchitektúra útmutatójában talál.
Megjegyzés:
Ha ezt az Azure Synapse Analytics vagy az Analytics Platform System (PDW) szolgáltatásból szeretné meghívni, használja a nevet sys.dm_pdw_nodes_os_waiting_tasks. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
| Oszlop név | Adattípus | Description |
|---|---|---|
waiting_task_address |
varbinary(8) | A várakozási feladat címe. |
session_id |
smallint | A tevékenységhez társított munkamenet azonosítója. |
exec_context_id |
int | A tevékenységhez társított végrehajtási környezet azonosítója. |
wait_duration_ms |
bigint | A várakozási típus teljes várakozási ideje ezredmásodpercben. Ez az idő magában foglalja a signal_wait_time. |
wait_type |
nvarchar(60) | A várakozási típus neve. További információ: sys.dm_os_wait_stats. |
resource_address |
varbinary(8) | Annak az erőforrásnak a címe, amelyre a tevékenység várakozik. |
blocking_task_address |
varbinary(8) | Az erőforrást jelenleg tartalmazó tevékenység |
blocking_session_id |
smallint | A kérést blokkoló munkamenet azonosítója. Ha ez az oszlop, NULLa kérés nem lesz letiltva, vagy a blokkoló munkamenet munkamenet-információi nem érhetők el (vagy nem azonosíthatók).-2 = A blokkoló erőforrás egy árva elosztott tranzakció tulajdonában van.-3 = A blokkoló erőforrás egy halasztott helyreállítási tranzakció tulajdonában van.-4
=
session_id a blokkoló retesz tulajdonosa nem határozható meg belső reteszállapot-áttűnések miatt. |
blocking_exec_context_id |
int | A blokkoló tevékenység végrehajtási környezetének azonosítója. |
resource_description |
nvarchar(3072) | A felhasznált erőforrás leírása. További információ: A resource_description oszlop. |
pdw_node_id |
int | Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. A következőkre vonatkozik: Azure Synapse Analytics and Analytics Platform System (PDW) |
Az resource_description oszlop
Az resource_description oszlop a következő lehetséges értékekkel rendelkezik.
Szálkészlet erőforrás-tulajdonosa
threadpool id=scheduler<hex-address>
Párhuzamos lekérdezési erőforrás tulajdonosa
exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>
Exchange-wait-type
e_waitNonee_waitPipeNewRowe_waitPipeGetRowe_waitSynchronizeConsumerOpene_waitPortOpene_waitPortClosee_waitRange
Erőforrás tulajdonosának zárolása
<type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>
<type-specific-description>lehet:- A következőhöz
DATABASE:databaselock subresource=<databaselock-subresource> dbid=<db-id> - A következőhöz
FILE:filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id> - A következőhöz
OBJECT:objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id> - A következőhöz
PAGE:pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource> - A következőhöz
Key:keylock hobtid=<hobt-id> dbid=<db-id> - A következőhöz
EXTENT:extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id> - A következőhöz
RID:ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id> - A következőhöz
APPLICATION:applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id> - A következőhöz
METADATA:metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id> - A következőhöz
HOBT:hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id> - A következőhöz
ALLOCATION_UNIT:allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>
- A következőhöz
<mode>lehet:Sch-S, Sch-M, S, U, X, IS, IU, IX, SIU, SIX, UIX, BU, RangeS-S, RangeS-U, RangeI-N, RangeI-S, RangeI-U, RangeI-X, RangeX-, RangeX-U, RangeX-X
Külső erőforrás tulajdonosa
Külső ExternalResource=<wait-type>
Általános erőforrás-tulajdonos
-
TransactionMutexTransactionInfo Workspace=<workspace-id> MutexCLRTaskJoinCLRMonitorEventCLRRWLockEventresourceWait
Erőforrás-tulajdonos leválasztva
<db-id>:<file-id>:<page-in-file><GUID><latch-class> (<latch-address>)
XACT (tranzakciós) erőforrás tulajdonosa
Az optimalizált zárolás engedélyezésekor fordul elő:
-
xactlock:xactlock xdesIdLow=<xdesIdLow> xdesIdHigh=<xdesIdHigh> dbid=<dbid> id=<resource id> mode=<mode> UnderlyingResource (<keylock|ridlock>) hobtId=<hobtId> dbid=<dbid>
Permissions
Az SQL Server 2019 (15.x) és a korábbi verziók engedélyhez szükségesek VIEW SERVER STATE .
Az SQL Server 2022 (16.x) és újabb verziói, valamint az SQL Server és az Azure SQL Managed Instance engedélyre van szükségük VIEW SERVER PERFORMANCE STATE a kiszolgálón.
Az Azure SQL Database Alapszintű, S0 és S1 szolgáltatási célkitűzésein, valamint rugalmas készletekben lévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.
Példák
A. A letiltott munkamenetekből származó tevékenységek azonosítása
SELECT * FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id IS NOT NULL;
B. Várakozási feladatok megtekintése kapcsolatonként
SELECT st.text AS [SQL Text],
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
INNER JOIN sys.dm_exec_connections AS c
ON w.session_id = c.session_id
CROSS APPLY (SELECT *
FROM sys.dm_exec_sql_text(c.most_recent_sql_handle)) AS st
WHERE w.session_id > 50
AND w.wait_duration_ms > 0
ORDER BY c.connection_id, w.session_id;
GO
C. Az összes felhasználói folyamat várakozási feladatainak megtekintése további információkkal
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 * 8 AS memory_usage_KB
FROM sys.dm_os_waiting_tasks AS owt
INNER JOIN sys.dm_exec_sessions AS es
ON owt.session_id = es.session_id
INNER JOIN sys.dm_exec_requests AS er
ON es.session_id = er.session_id
OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) AS est
OUTER APPLY sys.dm_exec_query_plan(er.plan_handle) AS eqp
WHERE es.is_user_process = 1
ORDER BY owt.session_id;
GO