CONTEXT_INFO (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Denna funktion returnerar värdet context_info som antingen är inställt för den aktuella sessionen eller batchen, eller härstammar genom användning av satsen SET CONTEXT_INFO .

Transact-SQL syntaxkonventioner

Syntax

CONTEXT_INFO()  

Returvärde

Det context_info värdet.

Om context_info inte sattes:

  • SQL Server returnerar NULL.
  • SQL Database returnerar en unik sessionsspecifik GUID.

Anmärkningar

Funktionen Multiple Active Result Sets (MARS) gör det möjligt för applikationer att köra flera batcher, eller förfrågningar, samtidigt på samma anslutning. När en av MARS-anslutningsbatcherna körs SET CONTEXT_INFO, returnerar CONTEXT_INFO funktionen det nya kontextvärdet, när CONTEXT_INFO funktionen körs i samma batch som satsen SET . Om CONTEXT_INFO funktionen körs i en eller flera av de andra anslutningsbatcharna, returnerar funktionen CONTEXT_INFO inte det nya värdet om inte batcherna startade efter att batchen som körde satsen SET slutförts.

Permissions

Kräver inga särskilda tillstånd. Följande systemvyer lagrar kontextinformationen, men för att fråga dessa vyer direkt krävs behörigheter SELECT och VIEW SERVER STATE:

  • sys.dm_exec_requests
  • sys.dm_exec_sessions
  • sys.sysprocesses

Examples

Detta enkla exempel sätter värdet context_info till 0x1256698456, och använder CONTEXT_INFO sedan funktionen för att hämta värdet.

SET CONTEXT_INFO 0x1256698456;  
GO  
SELECT CONTEXT_INFO();  
GO  

Se även

SET CONTEXT_INFO (Transact-SQL)SESSION_CONTEXT (Transact-SQL)
sp_set_session_context (Transact-SQL)