DBCC INPUTBUFFER (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Exibe a última instrução enviada de um cliente para uma instância do SQL Server.
Convenções de sintaxe Transact-SQL
Syntax
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 colunas a seguir.
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 ter a permissão VIEW SERVER STATE ou associação na função de servidor fixa sysadmin.
Sem isso, os usuários só podem exibir o buffer de entrada da própria sessão. Isso significa que session_id deve ser igual à ID de sessão na qual o comando está sendo executado. Para determinar a ID da sessão, execute a seguinte consulta:
SELECT @@spid;
No Banco de Dados SQL, as camadas Premium e Comercialmente Crítico requerem a permissão VIEW DATABASE STATE no banco de dados. No Banco de Dados SQL, as camadas Standard, Básico e Uso Geral requerem a conta de administrador do 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 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);