sys.dm_exec_input_buffer (Transact-SQL)

Gäller för: SQL Server 2014 (12.x) SP2 och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL database i Microsoft Fabric

Returnerar information om satser som skickats till en instans av SQL Server.

Syntax

sys.dm_exec_input_buffer ( session_id , request_id )

Arguments

session_id Är det sessions-ID:t som kör batchen som ska slås upp? session_id är liten. session_id kan hämtas från följande dynamiska hanteringsobjekt:

request_id request_id från sys.dm_exec_requests. request_id är int.

Tabell returnerad

Kolumnnamn Datatyp Description
event_type nvarchar(256) Typen av händelse i inmatningsbufferten för det givna sessions-ID:t (SPID).
parameters smallint Eventuella parametrar som anges för uttalandet.
event_info nvarchar(max) Texten till satsen i inmatningsbufferten för det givna sessions-ID:t (SPID).

Permissions

På SQL Server, om användaren har VIEW SERVER STATE-behörighet, kommer användaren att se alla körande sessioner på SQL Server-instansen; annars kommer användaren bara att se den aktuella sessionen.

Viktigt!

Att köra denna DMV utanför SQL Server Management Studio mot SQL Server utan VIEW SERVER STATE-behörigheter (såsom i en trigger, lagrad produr eller funktion) ger ett behörighetsfel i huvuddatabasen.

I SQL Database, om användaren är databasägare, kommer användaren att se alla exekverande sessioner i SQL-databasen; annars kommer användaren bara att se den aktuella sessionen.

Viktigt!

Att köra denna DMV utanför SQL Server Management Studio mot Azure SQL Database utan ägarbehörigheter (såsom i en trigger, lagrad produr eller funktion) ger ett behörighetsfel på huvuddatabasen.

Behörigheter för SQL Server 2022 och senare

Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.

Anmärkningar

Denna dynamiska hanteringsfunktion kan användas tillsammans med sys.dm_exec_sessions eller sys.dm_exec_requests genom att använda CROSS APPLY.

Examples

A. Enkelt exempel

Följande exempel visar att man skickar ett sessions-ID (SPID) och ett request-ID till funktionen.

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

B. Med kors-tillämpning på ytterligare information

Följande exempel listar inmatningsbufferten för användarsessioner.

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

Se även