DBCC INPUTBUFFER (Transact-SQL)
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Zobrazí poslední příkaz odeslaný z klienta do instance SQL Serveru.
Syntax
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[ WITH NO_INFOMSGS ]
Argumenty
session_id
ID relace přidružené ke každému aktivnímu primárnímu připojení.
request_id
Přesný požadavek (dávka), který se má vyhledat v rámci aktuální relace.
Následující dotaz vrátí request_id:
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spid;
S
Povolí zadání možností.
NO_INFOMSGS
Potlačí všechny informační zprávy, které mají úrovně závažnosti od 0 do 10.
Sady výsledků
DBCC INPUTBUFFER
vrátí sadu řádků s následujícími sloupci.
Název sloupce | Datový typ | Popis |
---|---|---|
typ události | nvarchar(30) | Typ události. Může to být událostí RPC nebo událostí jazyka. Výstup bude žádná událost, když nebyla zjištěna žádná poslední událost. |
parametrů | malé | 0 = text 1– n = Parametry |
EventInfo | nvarchar(4000) | Pro eventType RPC EventInfo obsahuje pouze název procedury. Pro EventType jazyka se zobrazí pouze prvních 4 000 znaků události. |
Například DBCC INPUTBUFFER
vrátí následující sadu výsledků, pokud poslední událost v vyrovnávací paměti je 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.
Poznámka
Od verze SQL Server 2014 (12.x) SP2 použijte sys.dm_exec_input_buffer k vrácení informací o příkazech odeslaných do instance SQL Serveru.
Dovolení
SQL Server vyžaduje oprávnění VIEW SERVER STATE nebo členství v správce systému pevné role serveru.
Bez jakékoli z těchto možností můžou uživatelé zobrazit pouze vstupní vyrovnávací paměť své vlastní relace. To znamená, že session_id musí být stejné jako ID relace, na kterém se příkaz spouští. Chcete-li zjistit ID relace. Spusťte následující dotaz:
SELECT @@spid;
Úrovně SQL Database Úrovně Premium a Pro důležité obchodní informace vyžadují oprávnění VIEW DATABASE STATE v databázi. Úrovně SQL Database Standard, Basic a Pro obecné účely vyžadují účet správce služby SQL Database.
Příklady
Následující příklad spustí DBCC INPUTBUFFER
na druhém připojení, zatímco dlouhá transakce běží na předchozím připojení.
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);