Поделиться через


sys.dm_exec_input_buffer (Transact-SQL)

Применимо: SQL Server 2014 База данных SQL AzureНе поддерживается. Azure Synapse Analytics Analytics Не поддерживается. Platform System (PDW)

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

Синтаксис

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.

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

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

Разрешения

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

Внимание

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

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

Внимание

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

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

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Замечания

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

Примеры

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

В следующем примере демонстрируется передача идентификатора сеанса (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

См. также