DBCC INPUTBUFFER (Transact-SQL)DBCC INPUTBUFFER (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Отображает последнюю инструкцию, отправленную клиентом экземпляру MicrosoftMicrosoft SQL ServerSQL Server.Displays the last statement sent from a client to an instance of MicrosoftMicrosoft SQL ServerSQL Server.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

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

АргументыArguments

session_idsession_id
Идентификатор сеанса, связанный с каждым активным первичным соединением.Is the session ID associated with each active primary connection.

request_idrequest_id
Строгий (пакетный) запрос для поиска в текущем сеансе.Is the exact request (batch) to search for within the current session.

Аргумент request_id возвращается с помощью следующего запроса:The following query returns request_id:

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

наWITH
Позволяет задавать параметры.Enables options to be specified.

NO_INFOMSGSNO_INFOMSGS
Подавляет все информационные сообщения со степенями серьезности от 0 до 10.Suppresses all informational messages that have severity levels from 0 through 10.

Результирующие наборыResult Sets

DBCC INPUTBUFFER возвращает набор строк со следующими столбцами.DBCC INPUTBUFFER returns a rowset with the following columns.

Имя столбцаColumn name Тип данныхData type ОписаниеDescription
EventTypeEventType nvarchar(30)nvarchar(30) Тип события.Event type. Может быть RPC Event или Language Event.This could be RPC Event or Language Event. Если последние события не обнаружены, на выходе будет No Event.The output will be No Event when no last event was detected.
ПараметрыParameters smallintsmallint 0 = Текст0 = Text

1- n = параметры1- n = Parameters
EventInfoEventInfo nvarchar(4000)nvarchar(4000) Если столбец EventType имеет значение RPC, столбец EventInfo содержит лишь имя процедуры.For an EventType of RPC, EventInfo contains only the procedure name. Для значения Language столбца EventType выводятся только первые 4000 символов события.For an EventType of Language, only the first 4000 characters of the event are displayed.

Например, в случае, когда последним событием в буфере было DBCC INPUTBUFFER(11), инструкция DBCC INPUTBUFFER возвращает следующий результирующий набор.For example, DBCC INPUTBUFFER returns the following result set when the last event in the buffer is 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.  

Примечание

Начиная с SQL Server 2014 (12.x)SQL Server 2014 (12.x) с пакетом обновления  2 (SP2) используйте процедуру sys.dm_exec_input_buffer для возврата сведений об инструкциях, переданных в экземпляр SQL ServerSQL Server.Starting with SQL Server 2014 (12.x)SQL Server 2014 (12.x) SP2, use sys.dm_exec_input_buffer to return information about statements submitted to an instance of SQL ServerSQL Server.

РазрешенияPermissions

В SQL ServerSQL Server требуется выполнение одного из следующих условий:On SQL ServerSQL Server requires one of the following:

  • пользователь должен быть членом предопределенной роли сервера sysadmin;User must be a member of the sysadmin fixed server role.
  • у пользователя должно быть разрешение VIEW SERVER STATE;User must have VIEW SERVER STATE permission.
  • идентификатор сеанса (session_id) должен быть равным идентификатору сеанса, с которым выполняется команда.session_id must be the same as the session ID on which the command is being run. Для определения идентификатора сеанса выполните следующий запрос:To determine the session ID execute the following query:
SELECT @@spid;  

В База данных SQLSQL Database для уровней "Премиум" и "Критически важный для бизнеса" необходимо разрешение VIEW DATABASE STATE в базе данных.On База данных SQLSQL Database Premium and Business Critical tiers requires the VIEW DATABASE STATE permission in the database. В База данных SQLSQL Database для уровней "Стандартный", "Базовый" и "Общего назначения" требуется учетная запись администратора База данных SQLSQL Database.On База данных SQLSQL Database Standard, Basic, and General Purpose tiers requires the База данных SQLSQL Database admin account.

ПримерыExamples

В следующем примере инструкция DBCC INPUTBUFFER выполняется по второму соединению, в то время как по ранее установленному соединению выполняется длинная транзакция.The following example runs DBCC INPUTBUFFER on a second connection while a long transaction is running on a previous connection.

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

См. также:See Also

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