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


CONTEXT_INFO (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

Синтаксис

CONTEXT_INFO()  

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

Значение context_info.

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

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

Замечания

Множественный активный результирующий набор (функция MARS) позволяет приложениям запускать несколько пакетов или запросов одновременно, используя одно и то же подключение. Если один из пакетов подключения MARS запустит SET CONTEXT_INFO, функция 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)