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

APLICA-SE A: SimSQL Server SimBanco de Dados SQL do Azure SimAzure Synapse Analytics (SQL DW) SimParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database YesAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

Retorna informações sobre a fila de espera de tarefas que estão esperando algum recurso.Returns information about the wait queue of tasks that are waiting on some resource. Para obter mais informações sobre tarefas, consulte o Guia de arquitetura de threads e tarefas.For more information about tasks, see the Thread and Task Architecture Guide.

Observação

Para chamá-lo de Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) ou Parallel Data WarehouseParallel Data Warehouse , use o nome Sys. dm_pdw_nodes_os_waiting_tasks.To call this from Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) or Parallel Data WarehouseParallel Data Warehouse, use the name sys.dm_pdw_nodes_os_waiting_tasks.

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
waiting_task_addresswaiting_task_address varbinary (8)varbinary(8) Endereço da tarefa de espera.Address of the waiting task.
session_idsession_id smallintsmallint ID da sessão associada à tarefa.ID of the session associated with the task.
exec_context_idexec_context_id intint ID do contexto de execução associado à tarefa.ID of the execution context associated with the task.
wait_duration_mswait_duration_ms bigintbigint Tempo de espera total para esse tipo, em milissegundos.Total wait time for this wait type, in milliseconds. Esse tempo é inclusivo do signal_wait_time.This time is inclusive of signal_wait_time.
wait_typewait_type nvarchar(60)nvarchar(60) Nome do tipo de espera.Name of the wait type.
resource_addressresource_address varbinary (8)varbinary(8) Endereço do recurso pelo qual a tarefa está esperando.Address of the resource for which the task is waiting.
blocking_task_addressblocking_task_address varbinary (8)varbinary(8) Tarefa que está mantendo esse recurso atualmenteTask that is currently holding this resource
blocking_session_idblocking_session_id smallintsmallint ID da sessão que está bloqueando a solicitação.ID of the session that is blocking the request. Se esta coluna for NULL, a solicitação não estará bloqueada ou as informações da sessão de bloqueio não estarão disponíveis (ou não podem ser identificadas).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 = O recurso de bloqueio pertence a uma transação distribuída órfã.-2 = The blocking resource is owned by an orphaned distributed transaction.

-3 = O recurso de bloqueio pertence a uma transação de recuperação adiada.-3 = The blocking resource is owned by a deferred recovery transaction.

-4 = A ID da sessão do proprietário da trava de bloqueio não pôde ser determinada devido a transições internas de estado da trava.-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 do contexto de execução da tarefa de bloqueio.ID of the execution context of the blocking task.
resource_descriptionresource_description nvarchar (3072)nvarchar(3072) Descrição do recurso que está sendo consumido.Description of the resource that is being consumed. Para obter mais informações, consulte a lista a seguir.For more information, see the list below.
pdw_node_idpdw_node_id intint Aplica-se a: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) ,Parallel Data WarehouseParallel Data WarehouseApplies to: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse), Parallel Data WarehouseParallel Data Warehouse

O identificador do nó em que essa distribuição está.The identifier for the node that this distribution is on.

Coluna resource_descriptionresource_description column

A coluna resource_description tem os valores possíveis a seguir.The resource_description column has the following possible values.

Proprietário do recurso de pool de threads:Thread-pool resource owner:

  • ID do ThreadPool = <> de endereço hexadecimal do Agendadorthreadpool id=scheduler<hex-address>

Proprietário do recurso de consulta paralela:Parallel query resource owner:

  • ID de exchangeEvent = {porta | Pipe} < endereço hex> waittype = < troca de espera do Exchange> 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

Proprietário do recurso de bloqueio:Lock resource owner:

  • <tipo-específico-Descrição> ID = Lock < Lock-hex-address> mode = < Mode> associatedObjectId = < associado-obj-ID><type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>

    <a descrição de tipo específico> pode ser:<type-specific-description> can be:

    • Para o banco de dados: databaselock subresource = < databaselock-subresource> DBID = < DB-ID>For DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

    • Para o arquivo: filelock FileID = < ID-do-arquivo> o subrecurso = < filelock-subresource> DBID = < db-ID>For FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Para OBJECT: 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>

    • Para a página: PageLock FileID = < ID de arquivo> PageId = < ID de página> DBID = < db-ID> subresource = < pagelock-subresource>For PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Para a chave: Keylock hobtid = < HoBT-id> DBID = < DB-ID>For Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Para extensão: extentlock FileID = < File-id> PageId = < Page-ID> DBID = < db-ID>For EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Para RID: ridlock FileID = < ID de arquivo> PageId = < ID de página> DBID = < db-ID>For RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Para o aplicativo: applicationlock hash = < hash> databasePrincipalId = < ID de função> DBID = < db-ID>For APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Para metadados: metadatalock subresource = < metadados-subresource> ClassID = < metadatalock-Description> DBID = < db-ID>For METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Para HOBT: hobtlock hobtid = < HoBT-id> subresource = < HoBT-subresource> DBID = < db-ID>For HOBT: hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>

    • Para 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>

    <o modo> pode ser:<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

Proprietário do recurso externo:External resource owner:

  • ExternalResource externa = < tipo de espera>External ExternalResource=<wait-type>

Proprietário do recurso genérico:Generic resource owner:

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

  • MutexMutex

  • CLRTaskJoinCLRTaskJoin

  • CLRMonitorEventCLRMonitorEvent

  • CLRRWLockEventCLRRWLockEvent

  • resourceWaitresourceWait

Proprietário do recurso de trava:Latch resource owner:

  • <DB-ID>: < ID de arquivo>: < página-in-file><db-id>:<file-id>:<page-in-file>

  • <GUID><GUID>

  • <> de classe de trava ( <> de trava-endereço)<latch-class> (<latch-address>)

PermissõesPermissions

Ativado SQL ServerSQL Server , requer VIEW SERVER STATE permissão.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Nas Banco de Dados SQLSQL Database camadas Premium, o requer a VIEW DATABASE STATE permissão no banco de dados.On Banco de Dados SQLSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. Nas Banco de Dados SQLSQL Database camadas Standard e Basic, o requer o administrador do servidor ou uma conta de administrador do Azure Active Directory .On Banco de Dados SQLSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

ExemploExample

Este exemplo identificará as sessões bloqueadas.This example will identify blocked sessions. Execute a Transact-SQLTransact-SQL consulta no 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; 

Consulte TambémSee Also

SQL Server exibições de gerenciamento dinâmico relacionadas ao sistema operacional ()Transact-SQL SQL Server Operating System Related Dynamic Management Views (Transact-SQL)
Guia de arquitetura de threads e tarefasThread and Task Architecture Guide