Megosztás a következőn keresztül:


SET CONTEXT_INFO (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Legfeljebb 128 bájt bináris információt kapcsol a jelenlegi üléshez vagy kapcsolathoz.

Transact-SQL szintaxis konvenciók

Szemantika

  
SET CONTEXT_INFO { binary_str | @binary_var }  

Arguments

binary_str

Egy bináris állandó, vagy olyan állandó, amely implicit módon átalakítható binárisra, hogy összekapcsoljuk az aktuális üléssel vagy kapcsolattal.

@binary_var

Egy varbináris vagy bináris változó, amely kontextusértéket tart, amit a jelenlegi üléshez vagy kapcsolathoz lehet társítani.

Megjegyzések

Mint minden SET állítás, a SET CONTEXT_INFO is befolyásolja a jelenlegi munkamenetet. A jelenlegi ülés kontextusinformációinak lekérésének előnyösebb módja a CONTEXT_INFO funkció használata. A session kontextus-információk is tárolódnak az alábbi rendszernézetekben található context_info oszlopokban:

  • sys.dm_exec_requests
  • sys.dm_exec_sessions
  • sys.sysprocesses (elavult)

A SET CONTEXT_INFO nem lehet megadni egy felhasználó által definiált függvényben. Nem lehet NULL értéket adni a SET CONTEXT_INFO-nek, mert az értékeket tartalmazó nézetek nem engedik meg a NULL értékeket.

A SET CONTEXT_INFO nem fogad el más kifejezéseket, mint állandókat vagy változóneveket. Ahhoz, hogy a kontextusinformációt egy függvényhívás eredményének állítsuk be, először be kell illeszteni a függvényhívás eredményét egy bináris vagy varbináris változóba.

Amikor SET CONTEXT_INFO-t adsz ki egy tárolt eljárásban vagy triggerben, ellentétben más SET utasításokkal, a kontextusinformáció új értékkészlete megmarad, miután a tárolt eljárás vagy trigger befejeződött.

Példák

A. Kontextusinformációt állítsunk be egy állandó használatával

A következő példa az érték beállításával és az eredmények megjelenítésével mutatja SET CONTEXT_INFO be. A lekérdezéshez sys.dm_exec_sessions SELECT és VIEW SERVER STATE jogosítások szükségesek, míg a CONTEXT_INFO funkció használata nem.

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

B. Kontextusinformáció beállítása függvény használatával

A következő példa bemutatja, hogy egy függvény kimenetét használják a kontextus érték beállításához, ahol a függvény értékét először egy bináris változóba kell helyezni.

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