Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: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.
Когда вы выдаёте SETSET 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