CONTEXT_INFO (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

この関数は、現在のセッションまたはバッチに設定された、または SET CONTEXT_INFO ステートメントを使用して派生した context_info 値を返します。

Transact-SQL 構文表記規則

構文

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)