Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Ordnet bis zu 128 Byte an binären Informationen der aktuellen Sitzung oder Verbindung zu.
Transact-SQL-Syntaxkonventionen
Syntax
SET CONTEXT_INFO { binary_str | @binary_var }
Argumente
binary_str
Eine Konstante vom Typ binary oder eine implizit in binary konvertierbare Konstante, die der aktuellen Sitzung oder Verbindung zugeordnet werden soll.
@binary_var
Eine Variable vom Typ varbinary oder binary mit einem Kontextwert, der der aktuellen Sitzung oder Verbindung zugeordnet werden soll.
Hinweise
Wie alle SET Statements wirkt sich SET CONTEXT_INFO auf die aktuelle Sitzung aus. Die bevorzugte Methode, die Kontextinformationen für die aktuelle Sitzung abzurufen, ist die Verwendung der Funktion CONTEXT_INFO . Sitzungskontextinformationen werden auch in den Spalten in den context_info folgenden Systemansichten gespeichert:
sys.dm_exec_requestssys.dm_exec_sessions-
sys.sysprocesses(veraltet)
SET CONTEXT_INFO kann in einer benutzerdefinierten Funktion nicht spezifiziert werden. Du kannst keinen NULL-Wert SET CONTEXT_INFO angeben, weil die Ansichten mit den Werten keine NULL-Werte zulassen.
SET CONTEXT_INFO akzeptiert keine Ausdrücke außer Konstanten oder Variablennamen. Wenn Sie die Kontextinformationen für das Ergebnis eines Funktionsaufrufes festlegen möchten, müssen Sie das Ergebnis des Funktionsaufrufes zuerst in einer Variablen vom Datentyp binary oder varbinary platzieren.
Wenn Sie eine gespeicherte Prozedur oder einen Trigger ausgeben SETSET CONTEXT_INFO , bleibt im Gegensatz zu anderen SET Anweisungen der neue Wertsatz für die Kontextinformationen erhalten, nachdem die gespeicherte Prozedur oder der Trigger abgeschlossen ist.
Beispiele
A. Festlegen von Kontextinformationen mithilfe einer Konstante
Im folgenden Beispiel wird die Verwendung von SET CONTEXT_INFO durch das Festlegen des Wertes und Anzeigen der Ergebnisse erläutert. Das Abfragen sys.dm_exec_sessions erfordert die Berechtigungen SELECT und VIEW SERVER STATE, während die Nutzung der CONTEXT_INFO Funktion dies nicht tut.
SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B. Festlegen von Kontextinformationen mithilfe einer Funktion
Im folgenden Beispiel wird die Verwendung der Ausgabe einer Funktion zum Festlegen des Kontextwertes gezeigt, wobei der Wert aus der Funktion zunächst in einer Variablen vom Typ binary platziert werden muss.
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO