Freigeben über


CONTEXT_INFO (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

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

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. Führt einer der Batches in einer MARS-Sitzung SET CONTEXT_INFO aus, wird der neue Kontextwert von der CONTEXT_INFO-Funktion zurückgegeben, wenn die CONTEXT_INFO-Funktion im gleichen Batch wie die SET-Anweisung 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 nur dann zurück, wenn diese Batches nach dem Abschluss des Batches ausgeführt werden, für den die SET-Anweisung ausgeführt wurde.

Berechtigungen

Benötigt keine besonderen Berechtigungen. Die Kontextinformationen sind in den folgenden Systemsichten gespeichert, das direkte Abfragen dieser Sichten erfordert aber 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)