次の方法で共有


SESSION_CONTEXT (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Microsoft 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)