次の方法で共有


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 列の有効値は次のとおりです。

スレッドプール リソースの所有者:

  • 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 権限が必要です。