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

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure Synapse Analytics (SQL DW) ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) 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. Pour plus d’informations sur les tâches, consultez le Guide d’architecture des threads et des tâches.For more information about tasks, see the Thread and Task Architecture Guide.

Notes

Pour appeler cette valeur Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) à Parallel Data WarehouseParallel Data Warehousepartir de ou, utilisez le nom sys. dm_pdw_nodes_os_waiting_tasks.To call this from Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) 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. Cette heure est comprise entre 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 à: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW),Parallel Data WarehouseParallel Data WarehouseApplies to: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW), Parallel Data WarehouseParallel Data Warehouse

Identificateur du nœud sur lequel cette distribution se trouve.The identifier for the node that this distribution is on.

Colonne resource_descriptionresource_description column

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

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

  • ID de pool de threads => d’adresses<hex du planificateurthreadpool id=scheduler<hex-address>

Propriétaire de ressources de requêtes parallèles :Parallel query resource owner:

  • exchangeEvent ID = {port | Pipe}<adresse hexadécimale> WaitType =<Exchange-type d’attente> NodeId =<Exchange-Node-ID>exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>

Exchange-wait-type :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 ressources de verrouillage :Lock resource owner:

  • <spécifique au type-Description> ID = verrou<Lock-hex-Address> mode =<mode> associatedObjectId =<associé-obj-ID><type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>

    <la> de description spécifique au type peut être :<type-specific-description> can be:

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

    • Pour le fichier : filelock fileid<= file-ID> Resource =<filelock-Resource<> dbid = DB-ID>For FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Pour Object : objectlock lockPartition =<Lock-partition-ID> objid =<obj-ID> Resource<= objectlock-Resource><dbid = DB-ID>For OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>

    • Pour la page : PageLock fileid<= file-ID> pageid<= page-ID> dbid<= DB-ID> Resource =<PageLock-Resource>For PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Clé : Keylock hobtid =<HoBT-ID> dbid =<DB-ID>For Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Pour extent : extentlock fileid<= file-ID> pageid<= page-ID> dbid<= DB-ID>For EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

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

    • Pour APPLICATION : applicationlock hash =<Hash> databasePrincipalId =<Role-ID> dbid =<DB-ID>For APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Pour les métadonnées : metadatalock Resource =<Metadata-Resource> ClassID =<metadatalock-<Description> dbid = DB-ID>For METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Pour HoBT : hobtlock hobtid =<HoBT-ID> Resource<= HoBT-Resource><dbid = DB-ID>For HOBT: hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>

    • Pour ALLOCATION_UNIT : allocunitlock hobtid =<HoBT-ID> Resource<= Alloc-Unit-Resource><dbid = DB-ID>For ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>

    <le> du 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 ressources externes :External resource owner:

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

Propriétaire de ressources génériques :Generic resource owner:

  • TransactionMutex TransactionInfo Workspace =<Workspace-ID>TransactionMutex TransactionInfo Workspace=<workspace-id>

  • MutexMutex

  • CLRTaskJoinCLRTaskJoin

  • CLRMonitorEventCLRMonitorEvent

  • CLRRWLockEventCLRRWLockEvent

  • resourceWaitresourceWait

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

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

  • <GUID><GUID>

  • <> de classe LATCH (<verrou-adresse>)<latch-class> (<latch-address>)

AutorisationsPermissions

Sur SQL ServerSQL Server, requiert VIEW SERVER STATE l’autorisation.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Sur SQL DatabaseSQL Database les niveaux Premium, requiert l' 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 les niveaux standard et de base, nécessite l' administrateur du serveur ou un compte d' administrateur Azure Active Directory .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écutez la Transact-SQLTransact-SQL requête 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

SQL Server vues de gestion dynamique liées au système d’exploitation (Transact-SQL) SQL Server Operating System Related Dynamic Management Views (Transact-SQL)
Guide d’architecture de thread et de tâcheThread and Task Architecture Guide