Freigeben über


sys.dm_exec_distributed_requests (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höhere Versionen

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

Basierend auf Sitzungs- und Anforderungs-ID kann ein Benutzer dann die tatsächlich generierten verteilten Anforderungen abrufen, die ausgeführt werden sollen – über sys.dm_exec_distributed_requests. Beispielsweise wird eine Abfrage mit regulären SQL- und externen SQL-Tabellen in verschiedene Anweisungen/Anforderungen zerlegt, die über die verschiedenen Computeknoten ausgeführt werden. Um die verteilten Schritte über alle Computeknoten hinweg nachzuverfolgen, führen wir eine "globale" Ausführungs-ID ein, die verwendet werden kann, um alle Vorgänge auf den Computeknoten zu verfolgen, die 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. Einzigartig 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. Wird auf NULL festgelegt, wenn kein Fehler aufgetreten ist.
start_time datetime Zeitpunkt, zu dem die Anforderungsausführung gestartet wurde. 0 für in die Warteschlange eingereihte Anforderungen; andernfalls ist die gültige Datumszeit kleiner oder gleich der aktuellen Uhrzeit.
end_time datetime Zeitpunkt, zu dem das Modul die Erstellung der Anforderung abgeschlossen hat. NULL für in die Warteschlange eingereihte oder aktive Anforderungen; andernfalls ist eine gültige Datumszeit kleiner oder gleich der aktuellen Uhrzeit.
total_elapsed_time int Die Zeit, die bei der Ausführung seit dem Start der Anforderung verstrichen ist, in Millisekunden. Zwischen 0 und dem Unterschied zwischen start_time und end_time. Wenn total_elapsed_time den Maximalwert für eine ganze Zahl überschreitet, wird total_elapsed_time weiterhin der Maximalwert sein. Diese Bedingung generiert die Warnung "Der Maximalwert wurde überschritten." Der Maximalwert in Millisekunden entspricht 24,8 Tagen.

Weitere Informationen

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