Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: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