Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Связывает до 128 байт бинарных данных с текущим сеансом или соединением.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SET CONTEXT_INFO { binary_str | @binary_var }
Аргументы
binary_str
Константа типа binary или константа, которая неявно преобразуется к типу binary, для связи с текущим сеансом или соединением.
@binary_var
Переменные типа varbinary или binary, удерживающие значение контекста для связи с текущим сеансом или соединением.
Замечания
Как и все инструкции SET, set CONTEXT_INFO влияет на текущий сеанс. Предпочтительным способом для получения контекстных данных по текущему сеансу является использование функции CONTEXT_INFO. Сведения о контексте сеанса также хранятся в context_info столбцах в следующих системных представлениях:
sys.dm_exec_requestssys.dm_exec_sessions-
sys.sysprocesses(не рекомендуется)
SET CONTEXT_INFO не может быть задан в определенной пользователем функции. Невозможно указать значение NULL для SET CONTEXT_INFO, так как представления, в которые содержится значения, не допускают значения NULL.
SET CONTEXT_INFO не принимает другие выражения, нежели имена констант и переменных. Чтобы задать сведения о контексте результатом вызываемой функции, необходимо сначала назначить результат вызова функции в переменную типа binary или varbinary.
Если SET CONTEXT_INFO вызывается в сохраненной процедуре или триггере, то в отличие от других инструкций SET, для контекстных данных установится новое значение, сохраненное после завершения хранимой процедуры или триггера.
Примеры
А. Установка сведений о контексте с помощью константы
Следующий пример демонстрирует использование SET CONTEXT_INFO с заданием значения и отображением результатов.
sys.dm_exec_sessions Для запроса требуются разрешения SELECT и VIEW SERVER STATE, в то время как использование функции CONTEXT_INFO не выполняется.
SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B. Настройка сведений о контексте с помощью функции
Следующий пример демонстрирует задание контекстного значения с использованием вывода функции, где значение от функции должно быть сначала помещено в переменную binary.
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO