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) プロシージャを使用して設定されます。
構文
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)