sys.dm_exec_input_buffer (Transact-SQL)
Gilt für: SQL Server 2014 Azure SQL-Datenbank Azure Synapse Analytics Analytics Platform System (PDW)
Gibt Informationen zu Anweisungen zurück, die an eine Instanz von SQL Server übermittelt werden.
Syntax
sys.dm_exec_input_buffer ( session_id , request_id )
Argumente
session_id Wird die Sitzungs-ID ausgeführt, die den Batch nachschlagen soll. session_id ist klein. session_id kann aus den folgenden dynamischen Verwaltungsobjekten abgerufen werden:
request_id The request_id from sys.dm_exec_requests. request_id ist int.
Zurückgegebene Tabelle
Spaltenname | Datentyp | Beschreibung |
---|---|---|
event_type | nvarchar(256) | Der Typ des Ereignisses im Eingabepuffer für den angegebenen Spid. |
parameters | smallint | Alle Parameter, die für die Anweisung bereitgestellt werden. |
event_info | nvarchar(max) | Der Text der Anweisung im Eingabepuffer für den angegebenen Spid. |
Berechtigungen
Wenn der Benutzer auf SQL Server über die Berechtigung "VIEW SERVER STATE" verfügt, wird dem Benutzer alle ausgeführten Sitzungen in der SQL Server-Instanz angezeigt. andernfalls wird dem Benutzer nur die aktuelle Sitzung angezeigt.
Wichtig
Wenn Sie diesen DMV außerhalb von SQL Server Management Studio ohne VIEW SERVER STATE-Berechtigungen (z. B. in einem Trigger, einer gespeicherten Prozedur oder einer Funktion) ausführen, wird ein Berechtigungsfehler in der Masterdatenbank ausgelöst.
Bei SQL-Datenbank sieht der Benutzer, wenn der Benutzer der Datenbankbesitzer ist, alle ausgeführten Sitzungen auf dem SQL-Datenbank. Andernfalls wird dem Benutzer nur die aktuelle Sitzung angezeigt.
Wichtig
Wenn Sie diesen DMV außerhalb von SQL Server Management Studio mit Azure SQL-Datenbank ohne Besitzerberechtigungen (z. B. in einem Trigger, einer gespeicherten Prozedur oder einer Funktion) ausführen, wird ein Berechtigungsfehler in der Masterdatenbank ausgelöst.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Hinweise
Diese dynamische Verwaltungsfunktion kann in Verbindung mit sys.dm_exec_sessions oder sys.dm_exec_requests verwendet werden, indem CROSS APPLY ausgeführt wird.
Beispiele
A. Einfaches Beispiel
Im folgenden Beispiel wird das Übergeben einer Sitzungs-ID (SPID) und einer Anforderungs-ID an die Funktion veranschaulicht.
SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO
B. Verwenden des Querverwendets für zusätzliche Informationen
Im folgenden Beispiel wird der Eingabepuffer für Benutzersitzungen aufgelistet.
SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.is_user_process = 1;
GO