Ескерім
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Отображает последнюю инструкцию, отправляемую от клиента к экземпляру SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[ WITH NO_INFOMSGS ]
Аргументы
session_id
Идентификатор сеанса, связанный с каждым активным первичным подключением.
request_id
Точный запрос (пакет) для поиска в текущем сеансе.
Аргумент request_id возвращается с помощью следующего запроса:
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spid;
ВМЕСТЕ С
Позволяет задавать параметры.
NO_INFOMSGS
Подавляет все информационные сообщения со степенями серьезности от 0 до 10.
Результирующие наборы
DBCC INPUTBUFFER
возвращает набор строк со следующими столбцами.
Имя столбца | Тип данных | Description |
---|---|---|
EventType | nvarchar(30) | Тип события. Может быть RPC Event или Language Event. Если последние события не обнаружены, на выходе будет No Event. |
Параметры | smallint | 0 = Текст 1- n = параметры |
EventInfo | nvarchar(4000) | Если столбец EventType имеет значение RPC, столбец EventInfo содержит лишь имя процедуры. Для значения Language столбца EventType выводятся только первые 4000 символов события. |
Например, возвращает следующий результирующий набор при DBCC INPUTBUFFER
последнем событии в буфере 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) с пакетом обновления 2 (SP2) используйте sys.dm_exec_input_buffer для возврата сведений об инструкциях, отправленных в экземпляр SQL Server.
Разрешения
ДЛЯ SQL Server требуется разрешение VIEW SERVER STATE или членство в предопределенных ролях сервера sysadmin .
Без каких-либо из них пользователи могут просматривать только входной буфер собственного сеанса. Это означает, что значение session_id должно быть равно идентификатору сеанса, с которым выполняется команда. Чтобы определить идентификатор сеанса. Выполните следующий запрос:
SELECT @@spid;
для уровней База данных SQL Premium и критически важный для бизнеса требуется разрешение VIEW DATABASE STATE в базе данных. База данных SQL уровнях "Стандартный", "Базовый" и "Общего назначения" требуется учетная запись администратора База данных SQL.
Примеры
В следующем примере инструкция DBCC INPUTBUFFER
выполняется по второму соединению, в то время как по ранее установленному соединению выполняется длинная транзакция.
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);