Freigeben über


sys.dm_exec_input_buffer (Transact-SQL)

Gilt für: SQL Server 2014 Azure SQL-Datenbank Wird nicht unterstützt. Azure Synapse Analytics Wird nicht unterstützt. 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

Weitere Informationen