SET CONTEXT_INFO (Transact-SQL)SET CONTEXT_INFO (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Ordnet bis zu 128 Byte an binären Informationen der aktuellen Sitzung oder Verbindung zu.Associates up to 128 bytes of binary information with the current session or connection.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


SET CONTEXT_INFO { binary_str | @binary_var }  

ArgumenteArguments

binary_strbinary_str
Ist eine binäre -Konstante oder eine Konstante, die implizit in binäre, der aktuellen Sitzung oder Verbindung zugeordnet werden soll.Is a binary constant, or a constant that is implicitly convertible to binary, to associate with the current session or connection.

@Binary_var@ binary_var
Ist eine Varbinary oder binäre Variablen mit einem Kontextwert, der aktuellen Sitzung oder Verbindung zugeordnet werden soll.Is a varbinary or binary variable holding a context value to associate with the current session or connection.

HinweiseRemarks

Die bevorzugte Vorgehensweise zum Abrufen von Kontextinformationen für die aktuelle Sitzung stellt die Verwendung der CONTEXT_INFO-Funktion dar.The preferred way to retrieve the context information for the current session is to use the CONTEXT_INFO function. Informationen zum Sitzungskontext befindet sich auch in der Context_info Spalten in der folgenden Systemsichten:Session context information is also stored in the context_info columns in the following system views:

  • Sys. dm_exec_requestssys.dm_exec_requests

  • Sys. dm_exec_sessionssys.dm_exec_sessions

  • Sys.sysprocessessys.sysprocesses

    SET CONTEXT_INFO kann nicht in einer benutzerdefinierten Funktion angegeben werden.SET CONTEXT_INFO cannot be specified in a user-defined function. Sie können mit SET CONTEXT_INFO keinen NULL-Wert angeben, da in den Sichten, die diese Werte enthalten, keine NULL-Werte zugelassen sind.You cannot supply a null value to SET CONTEXT_INFO because the views holding the values do not allow for null values.

    SET CONTEXT_INFO akzeptiert keine Ausdrücke, bei denen es sich nicht um Konstanten oder Variablennamen handelt.SET CONTEXT_INFO does not accept expressions other than constants or variable names. Die Kontextinformationen auf das Ergebnis eines Funktionsaufrufes festlegen möchten, müssen Sie zuerst das Ergebnis des Funktionsaufrufs in auch eine binäre oder Varbinary Variable.To set the context information to the result of a function call, you must first include the result of the function call in a binary or varbinary variable.

    Wenn Sie SET CONTEXT_INFO in einer gespeicherten Prozedur oder einem Trigger ausführen, ist im Gegensatz zu anderen SET-Anweisungen der neue Wert für die Kontextinformationen persistent, nachdem die gespeicherte Prozedur oder der Trigger beendet wurden.When you issue SET CONTEXT_INFO in a stored procedure or trigger, unlike in other SET statements, the new value set for the context information persists after the stored procedure or trigger is completed.

BeispieleExamples

A.A. Festlegen von Kontextinformationen durch Verwenden einer KonstanteSetting context information by using a constant

Im folgenden Beispiel wird die Verwendung von SET CONTEXT_INFO durch das Festlegen des Wertes und Anzeigen der Ergebnisse erläutert.The following example demonstrates SET CONTEXT_INFO by setting the value and displaying the results. Beachten Sie, dass zum Abfragen von sys.dm_exec_sessions die SELECT- und VIEW SERVER STATE-Berechtigungen erforderlich sind. Bei Verwendung der CONTEXT_INFO-Funktion gilt dies nicht.Note that querying sys.dm_exec_sessions requires SELECT and VIEW SERVER STATE permissions, whereas using the CONTEXT_INFO function does not.

SET CONTEXT_INFO 0x01010101;  
GO  
SELECT context_info   
FROM sys.dm_exec_sessions  
WHERE session_id = @@SPID;  
GO  

B.B. Festlegen von Kontextinformationen durch Verwenden einer FunktionSetting context information by using a function

Im folgenden Beispiel wird veranschaulicht, wie mit der Ausgabe einer Funktion den Kontextwert festgelegt, in dem der Wert von der Funktion zuerst werden in platziert muss einem binäre Variable.The following example demonstrates using the output of a function to set the context value, where the value from the function must be first placed in a binary variable.

DECLARE @BinVar varbinary(128);  
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );  
SET CONTEXT_INFO @BinVar;  

SELECT CONTEXT_INFO() AS MyContextInfo;  
GO  

Siehe auchSee Also

SET-Anweisungen (Transact-SQL) SET Statements (Transact-SQL)
Sys. dm_exec_requests ( Transact-SQL ) sys.dm_exec_requests (Transact-SQL)
Sys. dm_exec_sessions ( Transact-SQL ) sys.dm_exec_sessions (Transact-SQL)
CONTEXT_INFO ( Transact-SQL )CONTEXT_INFO (Transact-SQL)