sys.dm_exec_input_buffer (Transact-SQL)

Относится к: SQL Server 2014 (12.x) SP2 и более поздние версии База данных SQL AzureУправляемый экземпляр SQL AzureSQL база данных в Microsoft Fabric

Возвращает сведения об инструкциях, отправленных экземпляру SQL Server.

Syntax

sys.dm_exec_input_buffer ( session_id , request_id )

Аргументы

session_id Идентификатор сеанса, выполняющий пакет для поиска. session_id меньше. session_id можно получить из следующих динамических объектов управления:

request_id Request_id из sys.dm_exec_requests. request_id имеет значение int.

Возвращаемая таблица

Название столбца Тип данных Описание
event_type nvarchar(256) Тип события в входном буфере для заданного идентификатора сессии (SPID).
parameters smallint Все параметры, предоставленные для инструкции.
event_info nvarchar(max) Текст оператора в входном буфере для заданного идентификатора сессии (SPID).

Permissions

На SQL Server, если у пользователя есть VIEW право SERVER STATE, он увидит все выполняемые сессии на экземпляре SQL Server; в противном случае пользователь увидит только текущую сессию.

Important

Запуск этого DMV вне SQL Server Management Studio против SQL Server без VIEW прав SERVER STATE (например, в триггере, сохранённой процедуре или функции) вызывает ошибку разрешения в главной базе данных.

В База данных SQL, если пользователь является владельцем базы данных, пользователь увидит все сеансы выполнения в База данных SQL; в противном случае пользователь увидит только текущий сеанс.

Important

Запуск этого динамического административного представления за пределами SQL Server Management Studio для База данных SQL Azure без разрешений владельца (например, в триггере, хранимой процедуре или функции) вызывает ошибку разрешений в базе данных master.

Разрешения для SQL Server 2022 и более поздних версий

Требуется VIEW разрешение на состояние производительности сервера на сервере.

Замечания

Эту динамическую функцию управления можно использовать в сочетании с sys.dm_exec_sessions или sys.dm_exec_requests, выполняя CROSS APPLY.

Examples

А. Простой пример

В следующем примере демонстрируется передача идентификатора сеанса (SPID) и идентификатора запроса функции.

SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO

B. Использование перекрестного применения к дополнительным сведениям

В следующем примере перечислены входные буферы для сеансов пользователей.

SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.is_user_process = 1;
GO

См. также