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.