CONTEXT_INFO (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

此函數會傳回針對目前工作階段或批次所設定,或使用 SET CONTEXT_INFO 陳述式而衍生的 context_info 值。

Transact-SQL 語法慣例

Syntax

CONTEXT_INFO()  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

傳回值

context_info 值。

若並未設定 context_info

  • SQL Server 傳回 NULL。
  • SQL Database 會傳回工作階段特定的唯一 GUID。

備註

Multiple Active Result Set (MARS) 可讓應用程式在同一個連線上,同時執行多個批次或要求。 當其中一個 MARS 連線批次執行 SET CONTEXT_INFO 時,當 CONTEXT_INFO 函數在與 SET 陳述式相同的批次中執行時,CONTEXT_INFO 函數會傳回新的內容值。 如果 CONTEXT_INFO 函數在一或多個其他連線批次中執行,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)