sys.dm_os_waiting_tasks (Transact-SQL)sys.dm_os_waiting_tasks (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure SQL Data Warehouse ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Renvoie les informations sur la file d'attente des tâches en attente de certaines ressources.Returns information about the wait queue of tasks that are waiting on some resource.

Notes

À appeler à partir Azure SQL Data WarehouseAzure SQL Data Warehouse ou Parallel Data WarehouseParallel Data Warehouse, utilisez le nom sys.dm_pdw_nodes_os_waiting_tasks.To call this from Azure SQL Data WarehouseAzure SQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use the name sys.dm_pdw_nodes_os_waiting_tasks.

Nom de la colonneColumn name Type de donnéesData type DescriptionDescription
waiting_task_addresswaiting_task_address varbinary(8)varbinary(8) Adresse de la tâche en attente.Address of the waiting task.
session_idsession_id smallintsmallint ID de la session associée à la tâche.ID of the session associated with the task.
exec_context_idexec_context_id intint ID du contexte d'exécution associé à la tâche.ID of the execution context associated with the task.
wait_duration_mswait_duration_ms bigintbigint Temps d'attente total de ce type d'attente (en millisecondes).Total wait time for this wait type, in milliseconds. Ce temps signal_wait_time.This time is inclusive of signal_wait_time.
wait_typewait_type nvarchar(60)nvarchar(60) Nom du type d'attente.Name of the wait type.
resource_addressresource_address varbinary(8)varbinary(8) Adresse de la ressource que la tâche attend.Address of the resource for which the task is waiting.
blocking_task_addressblocking_task_address varbinary(8)varbinary(8) Tâche qui mobilise actuellement cette ressource.Task that is currently holding this resource
blocking_session_idblocking_session_id smallintsmallint ID de la session qui bloque la demande.ID of the session that is blocking the request. 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).If this column is NULL, the request is not blocked, or the session information of the blocking session is not available (or cannot be identified).

-2 = La ressource qui bloque la demande appartient à une transaction distribuée orpheline.-2 = The blocking resource is owned by an orphaned distributed transaction.

-3 = La ressource qui bloque la demande appartient à une transaction de récupération différée.-3 = The blocking resource is owned by a deferred recovery transaction.

-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.-4 = Session ID of the blocking latch owner could not be determined due to internal latch state transitions.
blocking_exec_context_idblocking_exec_context_id intint ID du contexte d'exécution de la tâche bloquante.ID of the execution context of the blocking task.
resource_descriptionresource_description nvarchar(3072)nvarchar(3072) Description de la ressource actuellement mobilisée.Description of the resource that is being consumed. Pour plus d'informations, consultez la liste ci-dessous.For more information, see the list below.
pdw_node_idpdw_node_id Intint S’applique aux: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

L’identificateur pour le nœud se trouvant sur cette distribution.The identifier for the node that this distribution is on.

Colonne resource_descriptionresource_description column

La colonne resource_description a les valeurs possibles suivantes.The resource_description column has the following possible values.

Propriétaire de ressources de pool de threads :Thread-pool resource owner:

  • threadpool id=scheduler<hex-address>threadpool id=scheduler<hex-address>

Propriétaire de ressources de requête parallèle :Parallel query resource owner:

  • exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>

Exchange--type d’attente :Exchange-wait-type:

  • e_waitNonee_waitNone

  • e_waitPipeNewRowe_waitPipeNewRow

  • e_waitPipeGetRowe_waitPipeGetRow

  • e_waitSynchronizeConsumerOpene_waitSynchronizeConsumerOpen

  • e_waitPortOpene_waitPortOpen

  • e_waitPortClosee_waitPortClose

  • e_waitRangee_waitRange

Propriétaire de ressource de verrou :Lock resource owner:

  • <type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id><type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>

    <type-specific-description > peut être :<type-specific-description> can be:

    • Pour la base de données : Databaselock subresource =<databaselock-subresource > dbid =<db-id >For DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

    • Pour un fichier : Filelock fileid =<fichier-id > subresource =<filelock-subresource > dbid =<db-id >For FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Pour l’objet : Objectlock lockPartition =<lock-partition-id > objid =<obj-id > subresource =<objectlock-subresource > dbid =<db-id >For OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>

    • Pour PAGE : Pagelock fileid =<fichier-id > pageid =<page-id > dbid =<db-id > subresource =<pagelock-subresource >For PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Pour Key : Keylock hobtid =<hobt-id > dbid =<db-id >For Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Pour EXTENT : Extentlock fileid =<fichier-id > pageid =<page-id > dbid =<db-id >For EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Pour RID : Ridlock fileid =<fichier-id > pageid =<page-id > dbid =<db-id >For RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Pour l’APPLICATION : Applicationlock hash =<hash > databasePrincipalId =<rôle-id > dbid =<db-id >For APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Pour METADATA : Metadatalock subresource =<métadonnées-subresource > classid =<metadatalock-description > dbid =<db-id >For METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Pour HOBT : Hobtlock hobtid =<hobt-id > subresource =<hobt-subresource > dbid =<db-id >For 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 >For ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>

    <mode > peut être :<mode> can be:

    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-XSch-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 la ressource externe :External resource owner:

  • Externalressource externe =<type d’attente >External ExternalResource=<wait-type>

Propriétaire de ressource générique :Generic resource owner:

  • Espace de travail TransactionMutex TransactionInfo =<-l’id de l’espace de travail >TransactionMutex TransactionInfo Workspace=<workspace-id>

  • MutexMutex

  • CLRTaskJoinCLRTaskJoin

  • CLRMonitorEventCLRMonitorEvent

  • CLRRWLockEventCLRRWLockEvent

  • resourceWaitresourceWait

Propriétaire de ressource de verrou :Latch resource owner:

  • <db-id>:<file-id>:<page-in-file><db-id>:<file-id>:<page-in-file>

  • <GUID ><GUID>

  • <latch-class> (<latch-address>)<latch-class> (<latch-address>)

AutorisationsPermissions

Sur SQL ServerSQL Server, nécessite VIEW SERVER STATE autorisation.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Sur SQL DatabaseSQL Database niveaux Premium, nécessite le VIEW DATABASE STATE autorisation dans la base de données.On SQL DatabaseSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. Sur SQL DatabaseSQL Database Standard et les niveaux de base, nécessite le administrateur du serveur ou un administrateur Azure Active Directory compte.On SQL DatabaseSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

ExempleExample

Cet exemple identifie les sessions bloquées.This example will identify blocked sessions. Exécuter le Transact-SQLTransact-SQL interroger dans SQL Server Management StudioSQL Server Management Studio.Execute the Transact-SQLTransact-SQL query in SQL Server Management StudioSQL Server Management Studio.

SELECT * FROM sys.dm_os_waiting_tasks 
WHERE blocking_session_id IS NOT NULL; 

Voir aussiSee Also

Vues de gestion dynamique liées à système d’exploitation SQL Server (Transact-SQL)SQL Server Operating System Related Dynamic Management Views (Transact-SQL)