DBCC INPUTBUFFER (Transact-SQL)

Aplica-se a: simSQL Server (todas as versões compatíveis) SimBanco de Dados SQL do Azure SimInstância Gerenciada do Azure SQL

Exibe a última instrução enviada de um cliente para uma instância do Microsoft SQL Server.

Ícone de link do tópico Convenções da sintaxe Transact-SQL

Sintaxe

DBCC INPUTBUFFER ( session_id [ , request_id ])  
[WITH NO_INFOMSGS ]  

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

session_id
É a ID da sessão associada a cada conexão primária ativa.

request_id
É a solicitação exata (lote) para pesquisar na sessão atual.

A seguinte consulta retorna request_id:

SELECT request_id   
FROM sys.dm_exec_requests   
WHERE session_id = @@spid;  

WITH
Permite que opções sejam especificadas.

NO_INFOMSGS
Suprime todas as mensagens informativas com níveis de severidade de 0 a 10.

Conjuntos de resultados

DBCC INPUTBUFFER retorna um conjunto de linhas com as seguintes colunas.

Nome da coluna Tipo de dados Descrição
EventType nvarchar(30) Tipo de evento. Pode ser Evento de RPC ou Evento de Linguagem. A saída será Nenhum Evento quando não for detectado nenhum último evento.
Parâmetros smallint 0 = Texto

1- n = Parâmetros
EventInfo nvarchar(4000) Para um EventType de RPC, EventInfo contém apenas o nome do procedimento. Para um EventType de Language, são exibidos apenas os primeiros 4.000 caracteres do evento.

Por exemplo, DBCC INPUTBUFFER retorna o conjunto de resultados a seguir quando o último evento no buffer é 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.  

Observação

Começando pelo SQL Server 2014 (12.x) SP2, use sys.dm_exec_input_buffer para retornar informações sobre as instruções enviadas a uma instância do SQL Server.

Permissões

No SQL Server, é necessário um dos seguintes:

  • O usuário deve ser membro da função de servidor fixa sysadmin.
  • O usuário deve ter a permissão VIEW SERVER STATE.
  • session_id deve ser igual à ID de sessão na qual o comando está sendo executado. Para determinar a ID de sessão, execute a seguinte consulta:
SELECT @@spid;  

No Banco de Dados SQL, as camadas Premium e Comercialmente Críticas requerem a permissão VIEW DATABASE STATE no banco de dados. No Banco de Dados SQL, as camadas Standard, Básica e de Uso Geral requerem a conta do administrador Banco de Dados SQL.

Exemplos

O exemplo a seguir executa DBCC INPUTBUFFER em uma segunda conexão enquanto uma transação longa é executada em uma conexão anterior.

CREATE TABLE dbo.T1 (Col1 INT, Col2 CHAR(3));  
GO  
DECLARE @i INT = 0;  
BEGIN TRAN  
SET @i = 0;  
WHILE (@i < 100000)  
BEGIN  
INSERT INTO dbo.T1 VALUES (@i, CAST(@i AS CHAR(3)));  
SET @i += 1;  
END;  
COMMIT TRAN;  
--Start new connection #2.  
DBCC INPUTBUFFER (52);  

Consulte Também

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