Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Kopplar upp till 128 byte binär information till den aktuella sessionen eller anslutningen.
Transact-SQL syntaxkonventioner
Syntax
SET CONTEXT_INFO { binary_str | @binary_var }
Arguments
binary_str
Är en binär konstant, eller en konstant som implicit kan konverteras till binär, att associera med den aktuella sessionen eller anslutningen.
@binary_var
Är en varbinär eller binär variabel som håller ett kontextvärde att associera med den aktuella sessionen eller anslutningen.
Anmärkningar
Som alla SET-satser påverkar SET CONTEXT_INFO den aktuella sessionen. Det föredragna sättet att hämta kontextinformationen för den aktuella sessionen är att använda funktionen CONTEXT_INFO. Sessionskontextinformation lagras också i kolumnerna context_info i följande systemvyer:
sys.dm_exec_requestssys.dm_exec_sessions-
sys.sysprocesses(inaktuell)
SET CONTEXT_INFO kan inte specificeras i en användardefinierad funktion. Du kan inte ange ett NULL-värde till SET CONTEXT_INFO eftersom vyerna som innehåller värdena inte tillåter NULL-värden.
SET CONTEXT_INFO accepterar inte uttryck utöver konstanter eller variabelnamn. För att sätta kontextinformationen till resultatet av ett funktionsanrop måste du först inkludera resultatet av funktionsanropet i en binär eller varbinär variabel.
När du utför SET-CONTEXT_INFO i en lagrad propud eller trigger, till skillnad från andra SET-satser, kvarstår det nya värdet set för kontextinformationen efter att den lagrade proceduren eller triggern är klar.
Examples
A. Sätt kontextinformation genom att använda en konstant
Följande exempel demonstrerar SET CONTEXT_INFO genom att sätta värdet och visa resultaten. Att söka sys.dm_exec_sessions kräver behörigheter SELECT och VIEW SERVER STATE, medan användning av funktionen CONTEXT_INFO inte gör det.
SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B. Sätt kontextinformation genom att använda en funktion
Följande exempel visar att man använder utdata från en funktion för att sätta kontextvärdet, där värdet från funktionen först måste placeras i en binär variabel.
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO