CONTEXT_INFO (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

Эта функция возвращает значение context_info , установленное для текущей сессии или партии, либо полученное с помощью SET CONTEXT_INFO оператора.

Соглашения о синтаксисе Transact-SQL

Синтаксис

CONTEXT_INFO()  

Возвращаемое значение

Значение context_info.

Если значение context_info не было задано:

  • SQL Server возвращает ЗНАЧЕНИЕ NULL.
  • База данных SQL возвращает уникальный GUID для конкретного сеанса.

Замечания

Множественный активный результирующий набор (функция MARS) позволяет приложениям запускать несколько пакетов или запросов одновременно, используя одно и то же подключение. Когда выполняется одна из пакетных SET CONTEXT_INFOсоединений MARS , CONTEXT_INFO функция возвращает новое значение контекста, когда функция CONTEXT_INFO выполняется в той же партии, что и оператор SET . Если CONTEXT_INFO функция выполняется в одной или нескольких других пакетах соединения, она CONTEXT_INFO не возвращает новое значение, если только эти партии не начались после завершения пакета, в котором был SET запущен оператор.

Разрешения

Не требует специальных разрешений. Следующие системные представления хранят информацию о контексте, но для прямого запроса к ним требуется права SELECT и VIEW SERVER STATE:

  • sys.dm_exec_requests
  • sys.dm_exec_sessions
  • sys.sysprocesses

Примеры

В этом примере значение context_info устанавливается в 0x1256698456, а затем для получения значения используется функция CONTEXT_INFO.

SET CONTEXT_INFO 0x1256698456;  
GO  
SELECT CONTEXT_INFO();  
GO  

См. также

SET CONTEXT_INFO (Transact-SQL)SESSION_CONTEXT (Transact-SQL)
sp_set_session_context (Transact-SQL)