適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
この関数は、現在のセッションまたはバッチに設定された context_info 値を返すか、 SET CONTEXT_INFO 文を使って導出されます。
構文
CONTEXT_INFO()
戻り値
context_info 値。
Context_info は設定されませんでした: 場合
- SQL Server は NULL を返します。
- SQL Database は一意のセッション固有 GUID を返します。
解説
複数のアクティブな結果セット (MARS) 機能によって、アプリケーションは複数のバッチまたは要求を同じ接続上で同時に実行できます。 MARS接続バッチの一つがSET CONTEXT_INFO実行されると、CONTEXT_INFO関数がSET文と同じバッチで実行される場合、CONTEXT_INFO関数は新しいコンテキスト値を返します。
CONTEXT_INFO関数が他の1つ以上の接続バッチで動作する場合、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)