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 Ressource, die verwendet wird. Weitere Informationen finden Sie in der unten angezeigten Liste. |
resource_description-Spalte
Für die resource_description-Spalte sind die folgenden Werte möglich.
Threadpoolressourcen-Besitzer:
- threadpool id=scheduler<hexadezimale Adresse>
Besitzer der parallelen Abfrageressourcen:
- exchangeEvent id={Port|Pipe}<hexadezimale Adresse> WaitType=<Austauschwartetyp> nodeId=<Austauschknoten-ID>
Austauschwartetyp:
e_waitNone
e_waitPipeNewRow
e_waitPipeGetRow
e_waitSynchronizeConsumerOpen
e_waitPortOpen
e_waitPortClose
e_waitRange
Besitzer der Sperrressource:
<typenspezifische Beschreibung> id=lock<hexadezimale Sperradresse> mode=<Modus> associatedObjectId=<ID des zugeordneten Objekts>
Für <typenspezifische Beschreibung> kann eine der folgenden Optionen verwendet werden:
Für DATABASE: databaselock subresource=<Datenbanksperren-Unterressource> dbid=<db-id>
Für FILE: filelock fileid=<Datei-ID> subresource=<Dateisperren-Unterressource> dbid=<Datenbank-ID>
Für OBJECT: objectlock lockPartition=<Sperrpartition-ID> objid=<Objekt-ID> subresource=<Objektsperren-Unterressource> dbid=<Datenbank-ID>
Für PAGE: pagelock fileid=<Datei-ID> pageid=<Seiten-ID> dbid=<Datenbank-ID> subresource=<Seitensperren-Unterressource>
Für KEY: keylock hobtid=<HoBt-ID> dbid=<Datenbank-ID>
Für EXTENT: extentlock fileid=<Datei-ID> pageid=<Seiten-ID> dbid=<Datenbank-ID>
Für RID: ridlock fileid=<Datei-ID> pageid=<Seiten-ID> dbid=<Datenbank-ID>
Für APPLICATION: applicationlock hash=<Hash> databasePrincipalId=<Rollen-ID> dbid=<Datenbank-ID>
Für METADATA: metadatalock subresource=<Metadaten-Unterressource> classid=<Metadatensperren-Beschreibung> dbid=<Datenbank-ID>
Für HOBT: hobtlock hobtid=<HoBt-ID> subresource=<HoBt-Unterressource> dbid=<Datenbank-ID>
Für ALLOCATION_UNIT: allocunitlock hobtid=<HoBt-ID> subresource=<Zuordnungseinheits-Unterressource> dbid=<Datenbank-ID>
Für <Modus> kann eine der folgenden Optionen verwendet werden:
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 Ressourcen:
- External ExternalResource=<Wartetyp>
Besitzer der generischen Ressourcen:
TransactionMutex TransactionInfo Workspace=<Arbeitsbereich-ID>
Mutex
CLRTaskJoin
CLRMonitorEvent
CLRRWLockEvent
resourceWait
Besitzer der Latchressourcen:
<Datenbank-ID>:<Datei-ID>:<Seite in Datei>
<GUID>
<Latchklasse> (<Latchadresse>)
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.