sys.dm_os_waiting_tasks (Transact-SQL)
Renvoie les informations sur la file d'attente des tâches en attente de certaines ressources.
Nom de la colonne |
Type de données |
Description |
---|---|---|
waiting_task_address |
varbinary(8) |
Adresse de la tâche en attente. |
session_id |
smallint |
ID de la session associée à la tâche. |
exec_context_id |
int |
ID du contexte d'exécution associé à la tâche. |
wait_duration_ms |
int |
Temps d'attente total de ce type d'attente (en millisecondes). Ce temps comprend signal_wait_time. |
wait_type |
nvarchar(60) |
Nom du type d'attente. |
resource_address |
varbinary(8) |
Adresse de la ressource que la tâche attend. |
blocking_task_address |
varbinary(8) |
Tâche qui mobilise actuellement cette ressource. |
blocking_session_id |
smallint |
ID de la session qui bloque la demande. Si cette colonne est NULL, la demande n'est pas bloquée, ou les informations de session de la session bloquant la demande ne sont pas disponibles (ou ne peuvent pas être identifiées). -2 = La ressource qui bloque la demande appartient à une transaction distribuée orpheline. -3 = La ressource qui bloque la demande appartient à une transaction de récupération différée. -4 = L'ID de session du propriétaire du verrou qui bloque la demande n'a pas pu être déterminé en raison de transitions d'état de verrou interne. |
blocking_exec_context_id |
int |
ID du contexte d'exécution de la tâche bloquante. |
resource_description |
nvarchar(1024) |
Description de la ressource actuellement mobilisée. Pour plus d'informations, consultez la liste ci-dessous. |
colonne resource_description
La colonne resource_description peut avoir les valeurs suivantes.
Propriétaire de ressources de pool de threads :
- threadpool id=scheduler<hex-address>
Propriétaire de ressources de requêtes parallèles :
- exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>
Type d'attente Exchange :
e_waitNone
e_waitPipeNewRow
e_waitPipeGetRow
e_waitSynchronizeConsumerOpen
e_waitPortOpen
e_waitPortClose
e_waitRange
Propriétaire de ressources de verrous :
<type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>
<type-specific-description> peut être :
Pour DATABASE : databaselock subresource=<databaselock-subresource> dbid=<db-id>
Pour FILE : filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>
Pour OBJECT : objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>
Pour PAGE : pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>
Pour Key : keylock hobtid=<hobt-id> dbid=<db-id>
Pour EXTENT : extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>
Pour RID : ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>
Pour APPLICATION : applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>
Pour METADATA : metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>
Pour HOBT : hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>
Pour ALLOCATION_UNIT : allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>
<mode> peut être :
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
Propriétaire de ressources externes :
- External ExternalResource=<wait-type>
Propriétaire de ressources génériques :
TransactionMutex TransactionInfo Workspace=<workspace-id>
Mutex
CLRTaskJoin
CLRMonitorEvent
CLRRWLockEvent
resourceWait
Propriétaire de ressources de verrous :
<db-id>:<file-id>:<page-in-file>
<GUID>
<latch-class> (<latch-address>)
Autorisations
Requiert l'autorisation VIEW SERVER STATE sur le serveur.