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 权限。