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)