CONTEXT_INFO (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL データベース

この関数は、現在のセッションまたはバッチに設定された context_info 値を返すか、 SET CONTEXT_INFO 文を使って導出されます。

Transact-SQL 構文表記規則

構文

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)