SET CONTEXT_INFO (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Přiřazuje až 128 bajtů binárních informací k aktuální relaci nebo spojení.

Transact-SQL konvence syntaxe

Syntaxe

  
SET CONTEXT_INFO { binary_str | @binary_var }  

Arguments

binary_str

Je binární konstanta, nebo konstanta, kterou lze implicitně převést na binární a spojit ji s aktuální relací nebo spojením.

@binary_var

Je varbinární nebo binární proměnná, která obsahuje kontextovou hodnotu určenou k přiřazení k aktuální relaci nebo spojení.

Poznámky

Stejně jako všechna SET prohlášení, ovlivňuje SET CONTEXT_INFO aktuální sezení. Preferovaným způsobem, jak získat kontextové informace pro aktuální relaci, je použít tuto CONTEXT_INFO funkci. Informace o kontextu relace jsou také uloženy ve sloupcích context_info v následujících systémových zobrazeních:

  • sys.dm_exec_requests
  • sys.dm_exec_sessions
  • sys.sysprocesses (zastaralé)

SET CONTEXT_INFO nelze specifikovat v uživatelsky definované funkci. Nemůžete poskytnout NULL hodnotu SET CONTEXT_INFO , protože pohledy s těmito hodnotami neumožňují NULL hodnoty.

SET CONTEXT_INFO nepřijímá výrazy jiné než konstanty nebo názvy proměnných. Pro nastavení kontextových informací k výsledku volání funkce musíte nejprve zahrnout výsledek volání funkce do binární nebo varbinární proměnné.

Když zadáte SETSET CONTEXT_INFO uloženou proceduru nebo trigger, na rozdíl od jiných SET příkazů, nová sada pro kontextové informace zůstává po dokončení uložené procedury nebo triggeru.

Examples

A. Nastavte kontextové informace pomocí konstanty

Následující příklad ukazuje SET CONTEXT_INFO nastavením hodnoty a zobrazením výsledků. Dotazování sys.dm_exec_sessions vyžaduje oprávnění SELECT a VIEW SERVER STATE, zatímco použití CONTEXT_INFO této funkce ne.

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

B. Nastavte kontextové informace pomocí funkce

Následující příklad ukazuje použití výstupu funkce k nastavení kontextové hodnoty, kde hodnota funkce musí být nejprve umístěna do binární proměnné.

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