Partilhar via


sys.dm_os_waiting_tasks (Transact-SQL)

Retorna informações sobre a fila de espera de tarefas que estão esperando algum recurso.

Nome da coluna

Tipo de dados

Descrição

waiting_task_address

varbinary(8)

Endereço da tarefa de espera.

session_id

smallint

ID da sessão associada à tarefa.

exec_context_id

int

ID do contexto de execução associado à tarefa.

wait_duration_ms

int

Tempo de espera total para esse tipo, em milissegundos. Essa hora é inclusiva de signal_wait_time.

wait_type

nvarchar(60)

Nome do tipo de espera.

resource_address

varbinary(8)

Endereço do recurso pelo qual a tarefa está esperando.

blocking_task_address

varbinary(8)

Tarefa que está mantendo esse recurso atualmente

blocking_session_id

smallint

ID da sessão que está bloqueando a solicitação. 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 poderão ser identificadas).

-2 = O recurso de bloqueio pertence a uma transação distribuída órfã.

-3 = O recurso de bloqueio pertence a uma transação de recuperação adiada.

-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.

blocking_exec_context_id

int

ID do contexto de execução da tarefa de bloqueio.

resource_description

nvarchar(1024)

Descrição do recurso que está sendo consumido. Para obter mais informações, consulte a lista abaixo.

Coluna resource_description

A coluna resource_description tem os valores possíveis a seguir.

Proprietário de recurso do pool de thread:

  • threadpool id=scheduler<hex-address>

Proprietário de recurso de consulta paralela:

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

Exchange-wait-type:

  • e_waitNone

  • e_waitPipeNewRow

  • e_waitPipeGetRow

  • e_waitSynchronizeConsumerOpen

  • e_waitPortOpen

  • e_waitPortClose

  • e_waitRange

Proprietário de recurso de bloqueio:

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

    <type-specific-description> pode ser:

    • Para DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

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

    • Para PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Para Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Para EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Para RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Para APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Para METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

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

    <mode> pode ser:

    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

Proprietário de recurso externo:

  • External ExternalResource=<wait-type>

Proprietário de recurso genérico:

  • TransactionMutex TransactionInfo Workspace=<workspace-id>

  • Mutex

  • CLRTaskJoin

  • CLRMonitorEvent

  • CLRRWLockEvent

  • resourceWait

Proprietário de recurso de trava:

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

  • <GUID>

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

Permissões

Requer a permissão VIEW SERVER STATE no servidor.