sys.dm_os_waiting_tasks (Transact-SQL)
返回正在等待某些资源的任务的等待队列的有关信息。
列名 |
数据类型 |
说明 |
---|---|---|
waiting_task_address |
varbinary(8) |
等待任务的地址。 |
session_id |
smallint |
与任务关联的会话的 ID。 |
exec_context_id |
int |
与任务关联的执行上下文的 ID。 |
wait_duration_ms |
int |
此等待类型的总等待时间(毫秒)。此时间包含 signal_wait_time。 |
wait_type |
nvarchar(60) |
等待类型的名称。 |
resource_address |
varbinary(8) |
任务等待的资源的地址。 |
blocking_task_address |
varbinary(8) |
当前持有此资源的任务。 |
blocking_session_id |
smallint |
正在阻塞请求的会话的 ID。如果此列为 NULL,则表示请求未被阻塞,或锁定会话的会话信息不可用(或无法进行标识)。 -2 = 阻塞资源由孤立的分布式事务拥有。 -3 = 阻塞资源由延迟的恢复事务拥有。 -4 = 由于内部闩锁状态转换而无法确定阻塞闩锁所有者的会话 ID。 |
blocking_exec_context_id |
int |
正在阻塞的任务的执行上下文 ID。 |
resource_description |
nvarchar(1024) |
对正在占用的资源的说明。有关详细信息,请参阅下表。 |
resource_description 列
resource_description 列具有以下可能值。
Thread-pool resource owner:
- threadpool id=scheduler<hex-address>
Parallel query resource owner:
- 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
Lock resource owner:
<type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>
<type-specific-description> can be:
For DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>
For FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>
For OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>
For PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>
For Key: keylock hobtid=<hobt-id> dbid=<db-id>
For EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>
For RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>
For APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>
For METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>
For HOBT: hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>
For ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>
<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-X
External resource owner:
- External ExternalResource=<wait-type>
Generic resource owner:
TransactionMutex TransactionInfo Workspace=<workspace-id>
Mutex
CLRTaskJoin
CLRMonitorEvent
CLRRWLockEvent
resourceWait
Latch resource owner:
<db-id>:<file-id>:<page-in-file>
<GUID>
<latch-class> (<latch-address>)
权限
需要具有服务器的 VIEW SERVER STATE 权限。