Udostępnij za pośrednictwem


SET CONTEXT_INFO (Transact-SQL)

Kojarzy do 128 bajtów danych binarnych z bieżącą sesją lub połączeniem.

Topic link iconKonwencje składni języka Transact-SQL

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