CONTEXT_INFO (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

Diese Funktion gibt den Wert context_info zurück, entweder für die aktuelle Sitzung oder den aktuellen Batch festgelegt oder durch die Verwendung der SET CONTEXT_INFO Anweisung abgeleitet.

Transact-SQL-Syntaxkonventionen

Syntax

CONTEXT_INFO()  

Rückgabewert

Der Wert von context_info.

Wenn context_info nicht festgelegt wurde:

  • SQL Server gibt NULL zurück.
  • SQL-Datenbank gibt eine eindeutige sitzungsspezifische GUID zurück.

Hinweise

Das MARS-Feature (Multiple Active Result Sets) ermöglicht Anwendungen die Ausführung mehrerer Batches oder Anforderungen zur gleichen Zeit über dieselbe Verbindung. Wenn eine der MARS-Verbindungsbatches ausgeführt SET CONTEXT_INFOwird, gibt die CONTEXT_INFO Funktion den neuen Kontextwert zurück, wenn die CONTEXT_INFO Funktion im selben Batch wie die Anweisung SET ausgeführt wird. Wenn die CONTEXT_INFO Funktion in einem oder mehreren der anderen Verbindungsbatches ausgeführt wird, gibt die CONTEXT_INFO Funktion den neuen Wert nicht zurück, es sei denn, diese Batches haben nach Abschluss des Batches begonnen, der die SET Anweisung ausgeführt hat.

Berechtigungen

Benötigt keine besonderen Berechtigungen. Die folgenden Systemansichten speichern die Kontextinformationen, aber das direkte Abfragen dieser Ansichten erfordert die Berechtigungen SELECT und VIEW SERVER STATE:

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

Beispiele

In diesem einfachen Beispiel wird der context_info-Wert auf 0x1256698456 festgelegt und der Wert dann mithilfe der CONTEXT_INFO-Funktion abgerufen.

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

Weitere Informationen

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