sys.dm_exec_requests (Transact-SQL)
Gibt Informationen über jede einzelne Anforderung, die in SQL Server ausgeführt wird, zurück.
Hinweis |
---|
Für die Ausführung von Code außerhalb von SQL Server (z. B. erweiterte gespeicherte Prozeduren und verteilte Abfragen) muss ein Thread außerhalb der Steuerung des nicht präemptiven Zeitplanungsmoduls ausgeführt werden. Dazu wechselt ein Arbeitsthread in den präemptiven Modus. Zeitwerte, die von dieser dynamischen Verwaltungssicht zurückgegeben werden, schließen nicht die im präemptiven Modus verbrachte Zeit ein. |
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
session_id |
smallint |
ID der Sitzung, auf die sich diese Anforderung bezieht. NULL ist nicht zulässig. |
request_id |
int |
ID der Anforderung. Ist im Kontext der Sitzung eindeutig. NULL ist nicht zulässig. |
start_time |
datetime |
Der Timestamp, der angibt, wann die Anforderung eingetroffen ist. NULL ist nicht zulässig. |
status |
nvarchar(30) |
Status der Anforderung. Dabei kann es sich um die folgenden Typen handeln:
NULL ist nicht zulässig. |
command |
nvarchar(16) |
Identifiziert den aktuellen Typ des Befehls, der gerade verarbeitet wird. Als allgemeine Befehlstypen sind die folgenden möglich:
Der Text der Anforderung kann mithilfe von sys.dm_exec_sql_text und dem entsprechenden sql_handle-Wert für die Anforderung abgerufen werden. Interne Systemprozesse legen den Befehl je nach Typ des ausgeführten Tasks fest. Mögliche Tasks sind z. B. die folgenden:
NULL ist nicht zulässig. |
sql_handle |
varbinary(64) |
Hashzuordnung des SQL-Texts der Anforderung. NULL ist nicht zulässig. |
statement_start_offset |
int |
Anzahl von Zeichen im derzeit ausgeführten Batch oder in der derzeit ausgeführten gespeicherten Prozedur, an der die derzeit ausgeführte Anweisung beginnt. Kann zusammen mit sql_handle, statement_end_offset und der dynamischen Verwaltungsfunktion sys.dm_exec_sql_text zum Abrufen der zurzeit ausgeführten Anweisung für die Anforderung verwendet werden. NULL ist zulässig. |
statement_end_offset |
int |
Anzahl von Zeichen im derzeit ausgeführten Batch oder in der derzeit ausgeführten gespeicherten Prozedur, an der die derzeit ausgeführte Anweisung endet. Kann zusammen mit sql_handle, statement_end_offset und der dynamischen Verwaltungsfunktion sys.dm_exec_sql_text zum Abrufen der zurzeit ausgeführten Anweisung für die Anforderung verwendet werden. NULL ist zulässig. |
plan_handle |
varbinary(64) |
Hashzuordnung des Plans für die SQL-Ausführung. NULL ist zulässig. |
database_id |
smallint |
ID der Datenbank, in der die Anforderung ausgeführt wird. NULL ist nicht zulässig. |
user_id |
int |
ID des Benutzers, der die Anforderung gesendet hat. NULL ist nicht zulässig. |
connection_id |
uniqueidentifier |
ID der Verbindung, über die die Anforderung eingetroffen ist. NULL ist zulässig. |
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 zu diesem Zeitpunkt aufgrund von internen Latchstatusübergängen nicht bestimmt werden. |
wait_type |
nvarchar(60) |
Wenn die Anforderung zurzeit blockiert wird, gibt diese Spalte den Wartetyp zurück. NULL ist zulässig. |
wait_time |
int |
Wenn die Anforderung zurzeit blockiert wird, gibt diese Spalte die Dauer des aktuellen Wartevorgangs in Millisekunden an. NULL ist nicht zulässig. |
last_wait_type |
nvarchar(60) |
Wenn diese Anforderung zuvor bereits blockiert war, gibt diese Spalte den Typ des letzten Wartevorgangs zurück. NULL ist nicht zulässig. |
wait_resource |
nvarchar(256) |
Wenn die Anforderung zurzeit blockiert wird, gibt diese Spalte die Ressource zurück, auf die die Anforderung zurzeit wartet. NULL ist nicht zulässig. |
open_transaction_count |
int |
Anzahl der für die Anforderung offenen Transaktionen. NULL ist nicht zulässig. |
open_resultset_count |
int |
Anzahl der für die Anforderung offenen Resultsets. NULL ist nicht zulässig. |
transaction_id |
bigint |
ID der Transaktion, in der diese Anforderung ausgeführt wird. NULL ist nicht zulässig. |
context_info |
varbinary(128) |
CONTEXT_INFO-Wert der Sitzung. NULL ist zulässig. |
percent_complete |
real |
Prozentsatz der Arbeit, die für folgende Befehle abgeschlossen ist:
NULL ist nicht zulässig. |
estimated_completion_time |
bigint |
Internal-Only. NULL ist nicht zulässig. |
cpu_time |
int |
Von der Anforderung beanspruchte CPU-Zeit (in Millisekunden). NULL ist nicht zulässig. |
total_elapsed_time |
int |
Gesamtzeit seit dem Eintreffen der Anforderung (in Millisekunden). NULL ist nicht zulässig. |
scheduler_id |
int |
ID des Zeitplanungsmoduls, das diese Anforderung plant. NULL ist nicht zulässig. |
task_address |
varbinary(8) |
Speicheradresse, die dem Task für diese Anforderung zugeordnet ist. NULL ist zulässig. |
reads |
bigint |
Anzahl der von dieser Anforderung ausgeführten Lesevorgänge. NULL ist nicht zulässig. |
writes |
bigint |
Anzahl der von dieser Anforderung ausgeführten Schreibvorgänge. NULL ist nicht zulässig. |
logical_reads |
bigint |
Anzahl der von dieser Anforderung ausgeführten logischen Lesevorgänge. NULL ist nicht zulässig. |
text_size |
int |
TEXTSIZE-Einstellung für diese Anforderung. NULL ist nicht zulässig. |
language |
nvarchar(128) |
Spracheinstellung für die Anforderung. Lässt NULL-Werte zu. |
date_format |
nvarchar(3) |
DATEFORMAT-Einstellung für die Anforderung. Lässt NULL-Werte zu. |
date_first |
smallint |
DATEFIRST-Einstellung für die Anforderung. NULL ist nicht zulässig. |
quoted_identifier |
bit |
1 = QUOTED_IDENTIFIER ist ON für die Anforderung. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
arithabort |
bit |
1 = ARITHABORT ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
ansi_null_dflt_on |
bit |
1 = ANSI_NULL_DFLT_ON ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
ansi_defaults |
bit |
1 = ANSI_DEFAULTS ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
ansi_warnings |
bit |
1 = ANSI_WARNINGS ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
ansi_padding |
bit |
1 = ANSI_PADDING ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
ansi_nulls |
bit |
1 = ANSI_NULLS ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
concat_null_yields_null |
bit |
1 = CONCAT_NULL_YIELDS_NULL ist für die Anforderung auf ON festgelegt. Andernfalls ist der Wert 0. NULL ist nicht zulässig. |
transaction_isolation_level |
smallint |
Isolationsstufe, mit der die Transaktion für diese Anforderung erstellt wird. NULL ist nicht zulässig. |
lock_timeout |
int |
Sperrtimeout für diese Anforderung (in Millisekunden). NULL ist nicht zulässig. |
deadlock_priority |
int |
DEADLOCK_PRIORITY-Einstellung für die Anforderung. NULL ist nicht zulässig. |
row_count |
bigint |
Anzahl von Zeilen, die von dieser Anforderung an den Client zurückgegeben wurden. NULL ist nicht zulässig. |
prev_error |
int |
Letzter Fehler, der während der Ausführung der Anforderung aufgetreten ist. NULL ist nicht zulässig. |
nest_level |
int |
Aktuelle Schachtelungsebene von Code, der für die Anforderung ausgeführt wird. NULL ist nicht zulässig. |
granted_query_memory |
int |
Anzahl von Seiten, die der Ausführung einer Abfrage in der Anforderung zugeordnet sind. NULL ist nicht zulässig. |
executing_managed_code |
bit |
Gibt an, ob eine bestimmte Anforderung zurzeit CLR-Objekte (Common Language Runtime) ausführt, z. B. Routinen, Typen und Trigger. Die Festlegung gilt für die gesamte Zeit, die sich ein CLR-Objekt im Stapel befindet, selbst wenn Transact-SQL aus CLR heraus ausgeführt wird. NULL ist nicht zulässig. |
group_id |
int |
ID der Arbeitsauslastungsgruppe, zu der diese Abfrage gehört. NULL ist nicht zulässig. |
query_hash |
binary(8) |
Binärer Hashwert, der in der Abfrage berechnet wird und zum Identifizieren von Abfragen mit ähnlicher Logik verwendet wird. Sie können den Abfragehash verwenden, um die aggregierte Ressourcennutzung für Abfragen zu ermitteln, die sich nur durch Literalwerte unterscheiden. Weitere Informationen finden Sie unter Suchen und Optimieren von ähnlichen Abfragen mit Abfrage und Abfrageplanhashes. |
query_plan_hash |
binary(8) |
Binärer Hashwert, der im Abfrageausführungsplan berechnet wird und zum Identifizieren ähnlicher Abfrageausführungspläne verwendet wird. Sie können diesen Hashwert verwenden, um die kumulierten Kosten für Abfragen mit ähnlichen Ausführungsplänen zu suchen. Weitere Informationen finden Sie unter Suchen und Optimieren von ähnlichen Abfragen mit Abfrage und Abfrageplanhashes. |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Hinweis |
---|
Wenn der Benutzer die VIEW SERVER STATE-Berechtigung auf dem Server besitzt, kann er alle zurzeit ausgeführten Sitzungen für die Instanz von SQL Server anzeigen; andernfalls wird dem Benutzer nur die aktuelle Sitzung angezeigt. |
Siehe auch