CONTEXT_INFO (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

此函数返回通过使用 SET CONTEXT_INFO 语句为当前会话或批处理设置的“context_info”值。

Transact-SQL 语法约定

语法

CONTEXT_INFO()  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

返回值

“context_info”值。

如果尚未设置 context_info

  • SQL Server 返回 NULL。
  • SQL 数据库 返回特定于会话的唯一 GUID。

备注

多个活动的结果集 (MARS) 功能将使应用程序能够使用相同连接同时运行多个批处理或请求。 当 MARS 连接中的一个批处理运行 SET CONTEXT_INFO 时,如果 CONTEXT_INFO 函数作为 SET 语句运行在同一批处理中,则该 CONTEXT_INFO 函数将返回新的上下文值。 如果 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)