sys.dm_os_waiting_tasks (Transact-SQL)sys.dm_os_waiting_tasks (Transact-SQL)

Dieses Thema gilt für: JaSQL Server (ab 2008)JaAzure SQL-DatenbankJaAzure SQL Data Warehouse Ja Parallel Datawarehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Gibt Informationen zur Warteschlange von Tasks zurück, die auf eine Ressource warten.Returns information about the wait queue of tasks that are waiting on some resource.

Hinweis

Aufrufen von Azure SQL Data WarehouseAzure SQL Data Warehouse oder Parallel Data WarehouseParallel Data Warehouse, verwenden Sie den Namen sys.dm_pdw_nodes_os_waiting_tasks.To call this from Azure SQL Data WarehouseAzure SQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use the name sys.dm_pdw_nodes_os_waiting_tasks.

SpaltennameColumn name DatentypData type DescriptionDescription
waiting_task_addresswaiting_task_address varbinary(8)varbinary(8) Adresse des wartenden Tasks.Address of the waiting task.
session_idsession_id smallintsmallint ID der Sitzung, die dem Task zugeordnet ist.ID of the session associated with the task.
exec_context_idexec_context_id intint ID des Ausführungskontexts, der dem Task zugeordnet ist.ID of the execution context associated with the task.
wait_duration_mswait_duration_ms bigintbigint Gesamtwartezeit für diesen Wartetyp (in Millisekunden).Total wait time for this wait type, in milliseconds. Diese Zeit Signal_wait_time.This time is inclusive of signal_wait_time.
wait_typewait_type nvarchar(60)nvarchar(60) Name des Wartetyps.Name of the wait type.
resource_addressresource_address varbinary(8)varbinary(8) Adresse der Ressource, auf die der Task wartet.Address of the resource for which the task is waiting.
blocking_task_addressblocking_task_address varbinary(8)varbinary(8) Task, der derzeit diese Ressource verwendet.Task that is currently holding this resource
blocking_session_idblocking_session_id smallintsmallint ID der Sitzung, die die Anforderung blockiert.ID of the session that is blocking the request. 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).If this column is NULL, the request is not blocked, or the session information of the blocking session is not available (or cannot be identified).

-2 = Der Besitzer der blockierenden Ressource ist eine verwaiste verteilte Transaktion.-2 = The blocking resource is owned by an orphaned distributed transaction.

-3 = Der Besitzer der blockierenden Ressource ist eine verzögerte Wiederherstellungstransaktion.-3 = The blocking resource is owned by a deferred recovery transaction.

-4 = Die Sitzungs-ID des Besitzers des blockierenden Latches konnte aufgrund interner Latchstatusübergänge nicht bestimmt werden.-4 = Session ID of the blocking latch owner could not be determined due to internal latch state transitions.
blocking_exec_context_idblocking_exec_context_id intint ID des Ausführungskontexts des blockierenden Tasks.ID of the execution context of the blocking task.
resource_descriptionresource_description nvarchar(3072)nvarchar(3072) Beschreibung der verwendeten Ressource.Description of the resource that is being consumed. Weitere Informationen finden Sie in der unten stehenden Liste.For more information, see the list below.
pdw_node_idpdw_node_id intint Gilt für: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

Der Bezeichner für den Knoten, dem auf diesem Verteilungspunkt befindet.The identifier for the node that this distribution is on.

resource_description-Spalteresource_description column

Die Resource_description-Spalte verfügt über folgende Werte möglich.The resource_description column has the following possible values.

Der Besitzer der Threadpool-Ressource:Thread-pool resource owner:

  • Threadpool-Id = Planer<Hex-Adresse >threadpool id=scheduler<hex-address>

    Ressourcenbesitzer der parallelen Abfrage:Parallel query resource owner:

  • ExchangeEvent-Id = {Port | Pipe}<Hex-Address > Wartetyp =<Exchange Wartetyp > NodeId =<Exchange-Knoten-Id >exchangeEvent id={Port|Pipe}<hex-address> WaitType=<exchange-wait-type> nodeId=<exchange-node-id>

    Exchange-Wait-Type:Exchange-wait-type:

  • e_waitNonee_waitNone

  • e_waitPipeNewRowe_waitPipeNewRow

  • e_waitPipeGetRowe_waitPipeGetRow

  • e_waitSynchronizeConsumerOpene_waitSynchronizeConsumerOpen

  • e_waitPortOpene_waitPortOpen

  • e_waitPortClosee_waitPortClose

  • e_waitRangee_waitRange

    Der Besitzer der Lock-Ressource:Lock resource owner:

  • <Type-Specific-Description > Id = Sperre<Lock-Hex-Address > Modus =<Modus > AssociatedObjectId =<zugeordnete-Obj-Id ><type-specific-description> id=lock<lock-hex-address> mode=<mode> associatedObjectId=<associated-obj-id>

    <Type-Specific-Description > kann sein:<type-specific-description> can be:

    • Für DATABASE: Databaselock Subresource =<Databaselock-Subresource > Dbid =<Db-Id >For DATABASE: databaselock subresource=<databaselock-subresource> dbid=<db-id>

    • Für die Datei: Filelock Fileid =<Datei-Id > Subresource =<Filelock-Subresource > Dbid =<Db-Id >For FILE: filelock fileid=<file-id> subresource=<filelock-subresource> dbid=<db-id>

    • Für OBJECT: Objectlock LockPartition =<Lock-Partitions-Id > Objid =<Obj-Id > Subresource =<Objectlock-Subresource > Dbid =<Db-Id >For OBJECT: objectlock lockPartition=<lock-partition-id> objid=<obj-id> subresource=<objectlock-subresource> dbid=<db-id>

    • Für PAGE: Pagelock Fileid =<Datei-Id > Pageid =<-Seiten-Id > Dbid =<Db-Id > Subresource =<Pagelock-Subresource >For PAGE: pagelock fileid=<file-id> pageid=<page-id> dbid=<db-id> subresource=<pagelock-subresource>

    • Für Key: Keylock Hobtid =<Hobt-Id > Dbid =<Db-Id >For Key: keylock hobtid=<hobt-id> dbid=<db-id>

    • Für EXTENT: Extentlock Fileid =<Datei-Id > Pageid =<-Seiten-Id > Dbid =<Db-Id >For EXTENT: extentlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Für RID: Ridlock Fileid =<Datei-Id > Pageid =<-Seiten-Id > Dbid =<Db-Id >For RID: ridlock fileid=<file-id> pageid=<page-id> dbid=<db-id>

    • Für APPLICATION: Applicationlock Hash =<Hash > DatabasePrincipalId =<Rolle-Id > Dbid =<Db-Id >For APPLICATION: applicationlock hash=<hash> databasePrincipalId=<role-id> dbid=<db-id>

    • Für METADATA: Metadatalock Subresource =<Metadaten-Subresource > Classid =<Metadatalock-Description > Dbid =<Db-Id >For METADATA: metadatalock subresource=<metadata-subresource> classid=<metadatalock-description> dbid=<db-id>

    • Für HOBT: Hobtlock Hobtid =<Hobt-Id > Subresource =<Hobt-Subresource > Dbid =<Db-Id >For 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 >For ALLOCATION_UNIT: allocunitlock hobtid=<hobt-id> subresource=<alloc-unit-subresource> dbid=<db-id>

      <Mode > kann sein:<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-XSch-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 resource owner:

  • Externe ExternalResource =<Wartetyp >External ExternalResource=<wait-type>

    Besitzer der allgemeinen Ressource:Generic resource owner:

  • Arbeitsbereich "TransactionMutex TransactionInfo" =<Arbeitsbereich-Id >TransactionMutex TransactionInfo Workspace=<workspace-id>

  • MutexMutex

  • CLRTaskJoinCLRTaskJoin

  • CLRMonitorEventCLRMonitorEvent

  • CLRRWLockEventCLRRWLockEvent

  • resourceWaitresourceWait

    Besitzer der latchressource:Latch resource owner:

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

  • <GUID><GUID>

  • <latchklasse > (<Latch-Adresse >)<latch-class> (<latch-address>)

BerechtigungenPermissions

Auf SQL ServerSQL Server, erfordert VIEW SERVER STATE Berechtigung.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Auf SQL-DatenbankSQL Database, erfordert die VIEW DATABASE STATE Berechtigung in der Datenbank.On SQL-DatenbankSQL Database, requires the VIEW DATABASE STATE permission in the database.

BeispielExample

In diesem Beispiel wird die blockierte Sitzungen identifiziert.This example will identify blocked sessions. Führen Sie die Transact-SQLTransact-SQL -Abfrage im SQL Server Management StudioSQL Server Management Studio.Execute the Transact-SQLTransact-SQL query in SQL Server Management StudioSQL Server Management Studio.

SELECT * FROM sys.dm_os_waiting_tasks 
WHERE blocking_session_id IS NOT NULL; 

Siehe auchSee Also

SQL Server-Betriebssystem verbundene dynamische Verwaltungssichten (Transact-SQL)SQL Server Operating System Related Dynamic Management Views (Transact-SQL)