sys.dm_exec_input_buffer (Transact-SQL)

Gilt für: SQL Server 2014 (12.x) SP2 und spätere Versionen Azure SQL-DatenbankAzure SQL Managed InstanceSQL database in Microsoft Fabric

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) Die Art des Ereignisses im Eingabepuffer für die gegebene Sitzungs-ID (SPID).
parameters smallint Alle Parameter, die für die Anweisung bereitgestellt werden.
event_info nvarchar(max) Der Text der Anweisung im Eingabepuffer für die gegebene Sitzungs-ID (SPID).

Berechtigungen

Auf SQL Server sieht der Benutzer VIEW bei SERVER-STATE-Berechtigung alle ausführenden Sitzungen auf der SQL Server-Instanz; ansonsten sieht der Benutzer nur die aktuelle Sitzung.

Wichtig

Das Ausführen dieses DMV außerhalb von SQL Server Management Studio gegen SQL Server ohne VIEW SERVER-STATUS-Berechtigungen (z. B. in einem Trigger, gespeicherten Verfahren oder einer Funktion) löst einen Berechtigungsfehler in der Hauptdatenbank aus.

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

Benötigt VIEW die Berechtigung SERVER PERFORMANCE STATE 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

Weitere Informationen