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 nyilatkozat, SET CONTEXT_INFO ez is befolyásolja az aktuális ülést. A jelenlegi alkalom kontextusinformációinak lekérésének előnyösebb módja a függvény használata CONTEXT_INFO . 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)

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

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 egy tárolt eljárásban vagy triggerben adsz ki, SETSET CONTEXT_INFO 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 jogosultságok szükségesek, míg a CONTEXT_INFO függvény 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