SET CONTEXT_INFO (Transact-SQL)
Kojarzy do 128 bajtów danych binarnych z bieżącą sesją lub połączeniem.
SET CONTEXT_INFO { binary_str | @binary_var }
Argumenty
binary_str
Czy binary stała lub stała, która jest niejawnie konwertowany do binary, aby skojarzyć z bieżącej sesja lub połączenia.**@**binary_var
Czy varbinary lub binary Zmienna, posiadających wartość kontekstu skojarzona z bieżącej sesja lub połączenia.
Remarks
Inicjowanie elementu AppDomainInformacje o sesja kontekstu jest również przechowywany w context_info kolumn w następujących widokach systemu:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
Użycie elementu AppDomainE_APPDOMAIN_SHARED
Polecenie SET CONTEXT_INFO obsługuje tylko wyrażenia w postaci nazw stałych i zmiennych.Aby okreslić informacje kontekstowe dla wyniku wywołania funkcji, należy najpierw umieścić wynik wywołania funkcji w zmiennej binary lub varbinary.
Jeśli polecenie SET CONTEXT_INFO występuje w procedurze składowanej lub wyzwalaczu, to w odróznieniu od innych instrukcji SET, nowa wartość informacji kontekstowych zostaje zachowana po wykonaniu procedury składowanej lub wyzwalacza.
Przykłady
A.E_APPDOMAIN_DOOMED
W poniższym przykładzie pokazano użycie polecenia SET CONTEXT_INFO do ustawienia wartości i wyświetlenia wyników.Należy zwrócić uwagę, że kwerenda sys.dm_exec_sessions wymaga uprawnień SELECT i VIEW SERVER STATE, zaś użycie funkcji CONTEXT_INFO nie.
SET CONTEXT_INFO 0x01010101
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B.E_APPDOMAIN_UNLOADING
W poniższym przykładzie pokazano użycie danych wyjściowych funkcji do określenia wartości kontekstowej w przypadku, gdy wartość funkcji musi być najpierw umieszczona w zmiennej binary.
DECLARE @BinVar varbinary(128)
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) )
SET CONTEXT_INFO @BinVar
SELECT CONTEXT_INFO() AS MyContextInfo;
GO