CONTEXT_INFO (Transact-SQL)CONTEXT_INFO (Transact-SQL)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL DatabaseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database

Эта функция возвращает значение context_info, установленное для текущего сеанса или пакета либо полученное с помощью инструкции SET CONTEXT_INFO.This function returns the context_info value either set for the current session or batch, or derived through use of the SET CONTEXT_INFO statement.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

CONTEXT_INFO()  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

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

Значение context_info.The context_info value.

Если значение context_info не было задано:If context_info was not set:

  • в SQL ServerSQL Server возвращается значение NULL;In SQL ServerSQL Server returns NULL.
  • в База данных SQLSQL Database возвращается уникальный идентификатор GUID, связанный с сеансом.In База данных SQLSQL Database returns a unique session-specific GUID.

RemarksRemarks

Множественный активный результирующий набор (функция MARS) позволяет приложениям запускать несколько пакетов или запросов одновременно, используя одно и то же подключение.The Multiple Active Result Sets (MARS) feature enables applications to run multiple batches, or requests, at the same time, on the same connection. Если один из пакетов подключения MARS запустит SET CONTEXT_INFO, функция CONTEXT_INFO вернет новое контекстное значение, когда функция CONTEXT_INFO запускается в том же пакете, что и инструкция SET.When one of the MARS connection batches runs SET CONTEXT_INFO, the CONTEXT_INFO function returns the new context value, when the CONTEXT_INFO function runs in the same batch as the SET statement. Если функция CONTEXT_INFO выполняется в одном или нескольких других пакетах подключения, CONTEXT_FUNCTION не возвращает новое значение, если эти пакеты не запускаются после пакета, выполнившего инструкцию SET.If the CONTEXT_INFO function runs in one or more of the other connection batches, the CONTEXT_FUNCTION does not return the new value unless those batches started after completion of the batch that ran the SET statement.

РазрешенияPermissions

Не требует специальных разрешений.Requires no special permissions. Следующие системные представления хранят сведения о контексте, и для выполнения прямых запросов к ним требуются разрешения SELECT и VIEW SERVER STATE:The following system views store the context information, but querying these views directly requires SELECT and VIEW SERVER STATE permissions:

  • sys.dm_exec_requestssys.dm_exec_requests
  • sys.dm_exec_sessionssys.dm_exec_sessions
  • sys.sysprocessessys.sysprocesses

ПримерыExamples

В этом примере значение context_info устанавливается в 0x1256698456, а затем для получения значения используется функция CONTEXT_INFO.This simple example sets the context_info value to 0x1256698456, and then uses the CONTEXT_INFO function to retrieve the value.

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

См. также разделSee also

SET CONTEXT_INFO (Transact-SQL)SET CONTEXT_INFO (Transact-SQL)