Sdílet prostřednictvím


DBCC INPUTBUFFER (Transact-SQL)

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Zobrazí poslední příkaz odeslaný z klienta do instance SQL Serveru.

Transact-SQL konvence syntaxe

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);

Viz také

  • DBCC (Transact-SQL)
  • sp_who (Transact-SQL)
  • sys.dm_exec_input_buffer (Transact-SQL)