sys.dm_os_waiting_tasks (Transact-SQL)
返回有关正在等待某些资源的任务的等待队列的信息。
适用范围:SQL Server(SQL Server 2008 到当前版本)。 |
列名 |
数据类型 |
说明 |
---|---|---|
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 列具有以下可能值。
线程池资源所有者:
- 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>
对于 Key: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 权限。