CONTEXT_INFO (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
この関数は、現在のセッションまたはバッチに設定された、または SET CONTEXT_INFO ステートメントを使用して派生した context_info 値を返します。
構文
CONTEXT_INFO()
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
戻り値
context_info 値。
Context_info は設定されませんでした: 場合
- SQL Server は NULL を返します。
- SQL Database は一意のセッション固有 GUID を返します。
解説
複数のアクティブな結果セット (MARS) 機能によって、アプリケーションは複数のバッチまたは要求を同じ接続上で同時に実行できます。 CONTEXT_INFO
関数が SET ステートメントと同じバッチで実行される場合、MARS 接続バッチの 1 つで SET CONTEXT_INFO を実行すると、CONTEXT_INFO
関数は新しいコンテキスト値を返します。 CONTEXT_INFO
関数が他の 1 つ以上の接続バッチで実行されている場合、SET ステートメントを実行したバッチの完了後にバッチが開始されない限り、CONTEXT_INFO
関数は新しい値を返しません。
アクセス許可
特に必要な権限はありません。 次のシステム ビューはコンテキスト情報を格納しますが、これらのビューに直接クエリを実行するには 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)