CONTEXT_INFO (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

该函数返回当前会话或批处理的 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)