Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Visar den senaste instruktionen som skickades från en klient till en instans av SQL Server.
Transact-SQL syntaxkonventioner
Syntax
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[ WITH NO_INFOMSGS ]
Argument
session_id
Sessions-ID:t som är associerat med varje aktiv primär anslutning.
request_id
Den exakta begäran (batch) som ska sökas efter i den aktuella sessionen.
Följande fråga returnerar request_id:
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spid;
MED
Aktiverar alternativ som ska anges.
NO_INFOMSGS
Undertrycker alla informationsmeddelanden som har allvarlighetsgrad mellan 0 och 10.
Resultatuppsättningar
DBCC INPUTBUFFER
returnerar en raduppsättning med följande kolumner.
Kolumnnamn | Datatyp | Beskrivning |
---|---|---|
EventType | nvarchar(30) | Händelsetyp. Detta kan vara RPC Event eller Language Event. Utdata kommer att Ingen händelse när ingen senaste händelse identifierades. |
parametrar | liten | 0 = Text 1– n = Parametrar |
EventInfo | nvarchar(4000) | För en EventType- av RPC innehåller EventInfo endast procedurnamnet. För en EventType- av Language visas endast de första 4 000 tecknen i händelsen. |
Till exempel returnerar DBCC INPUTBUFFER
följande resultatuppsättning när den sista händelsen i bufferten DBCC INPUTBUFFER (11)
.
EventType Parameters EventInfo
-------------- ---------- ---------------------
Language Event 0 DBCC INPUTBUFFER (11)
(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Not
Från och med SQL Server 2014 (12.x) SP2 använder du sys.dm_exec_input_buffer för att returnera information om instruktioner som skickas till en instans av SQL Server.
Behörigheter
SQL Server kräver behörigheten VIEW SERVER STATE eller medlemskap i sysadmin fast serverroll.
Utan något av dessa kan användarna bara visa indatabufferten för sin egen session. Det innebär att session_id måste vara samma som sessions-ID:t som kommandot körs på. För att fastställa sessions-ID:t kör du följande fråga:
SELECT @@spid;
SQL Database Premium- och Affärskritiska nivåer kräver behörigheten VIEW DATABASE STATE i databasen. SQL Database Standard-, Basic- och General Purpose-nivåerna kräver SQL Database-administratörskontot.
Exempel
I följande exempel körs DBCC INPUTBUFFER
på en andra anslutning medan en lång transaktion körs på en tidigare anslutning.
CREATE TABLE dbo.T1 (Col1 INT, Col2 CHAR(3));
GO
DECLARE @i INT = 0;
BEGIN TRANSACTION
SET @i = 0;
WHILE (@i < 100000)
BEGIN
INSERT INTO dbo.T1
VALUES (@i, CAST(@i AS CHAR(3)));
SET @i += 1;
END;
COMMIT TRANSACTION;
--Start new connection #2.
DBCC INPUTBUFFER (52);