sys.dm_exec_distributed_requests (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und spätere Versionen

Enthält Informationen zu allen Anforderungen, die derzeit oder kürzlich in PolyBase-Abfragen aktiv sind. Er listet eine Zeile pro Anforderung/Abfrage auf.

Basierend auf der Sitzungs- und Anforderungs-ID kann ein Benutzer dann die tatsächlich generierten verteilten Anforderungen abrufen, um ausgeführt zu werden – über sys.dm_exec_distributed_requests. Beispielsweise wird eine Abfrage, die reguläre SQL- und externe SQL-Tabellen enthält, in verschiedene Anweisungen/Anforderungen zerlegt, die auf den verschiedenen Computeknoten ausgeführt werden. Um die verteilten Schritte auf allen Computeknoten nachzuverfolgen, führen wir eine "globale" Ausführungs-ID ein, die verwendet werden kann, um alle Vorgänge auf den Computeknoten zu verfolgen, die jeweils einer bestimmten Anforderung bzw. einem bestimmten Operator zugeordnet sind.

Spaltenname Datentyp BESCHREIBUNG Range
sql_handle varbinary(64) Schlüssel für diese Ansicht. Eindeutige numerische ID, die der Anforderung zugeordnet ist. Eindeutig für alle Anforderungen im System.
execution_id nvarchar(32) Eindeutige numerische ID, die der Sitzung zugeordnet ist, in der diese Abfrage ausgeführt wurde.
status nvarchar(32) Aktueller status der Anforderung. 'Pending', 'Authorizing', 'AcquireSystemResources', 'Initializing', 'Plan', 'Parsing', 'AcquireResources', 'Running', 'Cancelling', 'Complete', 'Failed', 'Cancelled'.
error_id nvarchar(36) Eindeutige ID des Fehlers, der der Anforderung zugeordnet ist, falls vorhanden. Legen Sie auf NULL fest, wenn kein Fehler aufgetreten ist.
start_time datetime Zeitpunkt, zu dem die Anforderungsausführung gestartet wurde. 0 für Anforderungen in der Warteschlange; Andernfalls gilt datetime kleiner oder gleich der aktuellen Uhrzeit.
end_time datetime Zeitpunkt, zu dem die Engine die Kompilierung der Anforderung abgeschlossen hat. NULL für in die Warteschlange eingereihte oder aktive Anforderungen; andernfalls ein gültiger datetime-Wert, der kleiner oder gleich der aktuellen Uhrzeit ist.
total_elapsed_time int Bei der Ausführung verstrichene Zeit seit dem Starten der Anforderung in Millisekunden. Zwischen 0 und dem Unterschied zwischen start_time und end_time. Wenn total_elapsed_time den Höchstwert für eine ganze Zahl überschreitet, bleibt total_elapsed_time weiterhin der Maximalwert. Durch diese Bedingung wird die Warnung "Der Maximalwert wurde überschritten" generiert. Der Maximalwert in Millisekunden entspricht 24,8 Tagen.

Weitere Informationen

Problembehandlung bei PolyBase mit dynamischen Verwaltungssichten
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Mit der Datenbank verbundene dynamische Verwaltungssichten (Transact-SQL)