Delen via


sys.dm_exec_input_buffer (Transact-SQL)

Van toepassing op: SQL Server 2014 (12.x) SP2 en latere versies Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Geeft informatie terug over statements die zijn ingediend bij een instantie van SQL Server.

Syntaxis

sys.dm_exec_input_buffer ( session_id , request_id )

Arguments

session_id Is het sessie-ID dat de batch uitvoert die opgezocht moet worden? session_id is klein. session_id kan worden verkregen uit de volgende dynamische beheerobjecten:

request_id De request_id van sys.dm_exec_requests. request_id is int.

Tabel geretourneerd

Kolomnaam Gegevenstype Description
event_type nvarchar(256) Het type gebeurtenis in de inputbuffer voor de gegeven sessie-ID (SPID).
parameters smallint Alle parameters die voor de verklaring zijn gegeven.
event_info nvarchar(max) De tekst van de instructie in de inputbuffer voor de gegeven sessie-ID (SPID).

Permissions

Op SQL Server, als de gebruiker de VIEW SERVER STATE toestemming heeft, zal de gebruiker alle uitvoerende sessies op de instantie van SQL Server zien; anders ziet de gebruiker alleen de huidige sessie.

Belangrijk

Het uitvoeren van deze DMV buiten SQL Server Management Studio tegen SQL Server zonder VIEW SERVER STATE-rechten (zoals in een trigger, stored procedure of functie) veroorzaakt een permissiefout in de masterdatabase.

In SQL Database, als de gebruiker de database-eigenaar is, zal de gebruiker alle uitvoerende sessies op de SQL-database zien; anders ziet de gebruiker alleen de huidige sessie.

Belangrijk

Het uitvoeren van deze DMV buiten SQL Server Management Studio tegen Azure SQL Database zonder eigenaarsrechten (zoals in een trigger, stored procedure of functie) veroorzaakt een permissiefout in de masterdatabase.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Opmerkingen

Deze dynamische beheerfunctie kan samen met sys.dm_exec_sessions of sys.dm_exec_requests worden gebruikt door CROSS APPLY uit te voeren.

Voorbeelden

Eén. Eenvoudig voorbeeld

Het volgende voorbeeld laat zien dat een sessie-ID (SPID) en een verzoek-ID aan de functie worden doorgegeven.

SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO

B. Met kruis-toepassing op aanvullende informatie

Het volgende voorbeeld toont de inputbuffer voor gebruikerssessies.

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

Zie ook