Freigeben über


sys.dm_os_waiting_tasks (Transact-SQL)

Gibt Informationen zur Warteschlange von Tasks zurück, die auf eine Ressource warten.

Spaltenname

Datentyp

Beschreibung

waiting_task_address

varbinary(8)

Adresse des wartenden Tasks.

session_id

smallint

ID der Sitzung, die dem Task zugeordnet ist.

exec_context_id

int

ID des Ausführungskontexts, der dem Task zugeordnet ist.

wait_duration_ms

int

Gesamtwartezeit für diesen Wartetyp (in Millisekunden). Diese Zeit beinhaltet signal_wait_time.

wait_type

nvarchar(60)

Name des Wartetyps.

resource_address

varbinary(8)

Adresse der Ressource, auf die der Task wartet.

blocking_task_address

varbinary(8)

Task, der derzeit diese Ressource verwendet.

blocking_session_id

smallint

ID der Sitzung, die die Anforderung blockiert. Wenn diese Spalte den Wert NULL aufweist, wird die Anforderung nicht blockiert, oder die Sitzungsinformationen der blockierenden Sitzung sind nicht verfügbar (bzw. können nicht identifiziert werden).

-2 = Der Besitzer der blockierenden Ressource ist eine verwaiste verteilte Transaktion.

-3 = Der Besitzer der blockierenden Ressource ist eine verzögerte Wiederherstellungstransaktion.

-4 = Die Sitzungs-ID des Besitzers des blockierenden Latches konnte aufgrund interner Latchstatusübergänge nicht bestimmt werden.

blocking_exec_context_id

int

ID des Ausführungskontexts des blockierenden Tasks.

resource_description

nvarchar(1024)

Beschreibung der verwendeten Ressource. Weitere Informationen finden Sie in der unten stehenden Liste.

resource_description-Spalte

Für die resource_description-Spalte sind folgende Werte möglich.

Ressourcenbesitzer des Threadpools:

  • threadpool id=scheduler<hex-address>

Ressourcenbesitzer der parallelen Abfrage:

  • 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

Besitzer der LOCK-Ressource:

  • <type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>

    <type-specific-description> kann Folgendes sein:

    • Für DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

    • Für FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Für OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>

    • Für PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Für Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Für EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Für RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Für APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Für METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Für HOBT: hobtlock hobtid=<hobt-id> subresource=<hobt-subresource> dbid=<db-id>

    • Für ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>

    <mode> kann Folgendes sein:

    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

Besitzer der externen Ressource:

  • External ExternalResource=<wait-type>

Besitzer der allgemeinen Ressource:

  • TransactionMutex TransactionInfo Workspace=<workspace-id>

  • Mutex

  • CLRTaskJoin

  • CLRMonitorEvent

  • CLRRWLockEvent

  • resourceWait

Besitzer der Latchressource:

  • <db-id>:<file-id>:<page-in-file>

  • <GUID>

  • <latch-class> (<latch-address>)

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Siehe auch

Verweis

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)

Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)