Поделиться через


sys.dm_os_waiting_tasks (Transact-SQL)

Возвращает сведения об очереди задач, ожидающих освобождения определенного ресурса.

Имя столбца

Тип данных

Описание

waiting_task_address

varbinary(8)

Адрес ожидающей задачи.

session_id

smallint

Идентификатор сеанса, связанного с этой задачей.

exec_context_id

int

Идентификатор контекста выполнения, связанного с этой задачей.

wait_duration_ms

int

Общее время ожидания для этого типа ожиданий в миллисекундах. Это время включает длительность signal_wait_time.

wait_type

nvarchar(60)

Имя типа ожидания.

resource_address

varbinary(8)

Адрес ресурса, освобождения которого ожидает задача.

blocking_task_address

varbinary(8)

Задача, которая в настоящий момент блокирует этот ресурс.

blocking_session_id

smallint

Идентификатор сеанса, блокирующего данный запрос. Если этот столбец содержит значение NULL, то запрос не блокирован или сведения о сеансе блокировки недоступны (или не могут быть идентифицированы).

-2 = Блокирующий ресурс принадлежит потерянной распределенной транзакции.

-3 = Блокирующий ресурс принадлежит отложенной транзакции восстановления.

-4 = Идентификатор сеанса владельца кратковременной блокировки не может быть определен из-за внутренних переходов состояния кратковременной блокировки.

blocking_exec_context_id

int

Идентификатор контекста выполнения блокирующей задачи.

resource_description

nvarchar(1024)

Описание используемого ресурса. Дополнительные сведения см. в приведенном ниже списке.

Столбец resource_description

Столбец resource_description может иметь следующие значения.

Владелец ресурса пула потоков:

  • threadpool id=scheduler<hex-address>

Владелец ресурса параллельного запроса:

  • 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

Владелец ресурса блокировки:

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

    <type-specific-description> может быть:

    • Для DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

    • Для FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Для OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>

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

    • Для ключа: keylock hobtid=<hobt-id> dbid=<db-id>

    • Для EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Для RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Для APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Для METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Для HOBT: hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>

    • Для ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>

    <mode> может быть:

    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

Владелец внешнего ресурса:

  • External ExternalResource=<wait-type>

Владелец универсального ресурса:

  • TransactionMutex TransactionInfo Workspace=<workspace-id>

  • Mutex

  • CLRTaskJoin

  • CLRMonitorEvent

  • CLRRWLockEvent

  • resourceWait

Владелец ресурса кратковременной блокировки:

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

  • <GUID>

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

Разрешения

Необходимо разрешение VIEW SERVER STATE на сервере.

См. также

Справочник

Динамические административные представления и функции (Transact-SQL)

Динамические административные представления, относящиеся к операционной системе SQL Server (Transact-SQL)