SESSION_CONTEXT (Transact-SQL)

适用于:SQL Server 2016 (13.x) 及更高版本Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsMicrosoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

返回当前会话上下文中指定键的值。 使用 sp_set_session_context (Transact-SQL) 步骤设置值。

Transact-SQL 语法约定

语法

SESSION_CONTEXT(N'key')  

参数

“key”
正在检索的值的键(类型为 sysname)。

返回类型

sql_variant

返回值

如果未为该键设置值,则为与会话上下文中指定值相关联的值,或者为 NULL。

权限

任何用户都可以读取其会话的会话上下文。

备注

SESSION_CONTEXT 的 MARS 行为类似于 CONTEXT_INFO 的该行为。 如果 MARS 批设置键值对,则新值不会返回到相同连接上的其他 MARS 批,除非它们在设置新值的批完成后开始。 如果连接上有多个活动的 MARS 批,那么值不能设置为“read_only”。这样可以避免有关哪一个值“胜出”的争用条件和非确定性。

示例

下面这个简单的示例将键 user_id 的会话上下文值设置为 4,然后使用 SESSION_CONTEXT 函数检索值

EXEC sp_set_session_context 'user_id', 4;  
SELECT SESSION_CONTEXT(N'user_id');  

另请参阅

sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
行级安全性
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)