ZESTAW CONTEXT_INFO (Transact-SQL)
Kojarzy do 128 bajtów informacji binarnych z bieżącej sesja lub połączenia.
Składnia
SET CONTEXT_INFO { binary_str | @binary_var }
Argumenty
binary_str
Jest binary stała jest niejawnie konwertowane lubstała, binary, aby skojarzyć z bieżącej sesja lub połączenia.**@**binary_var
Jest varbinary lub binary zmienną posiadających wartość kontekstu skojarzoną z bieżącej sesja lub połączenia.
Uwagi
Preferowanym sposobem pobierania informacji kontekstu dla bieżącej sesja jest użycie funkcjaCONTEXT_INFO.Informacje kontekstowe sesji jest również przechowywany w context_info kolumn w następujących widokach systemu:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
Ustaw CONTEXT_INFO nie można określić w zdefiniowanej przez użytkownika funkcja.Nie można podać CONTEXT_INFO ustaw wartość null , ponieważ widoki gospodarstwa wartości nie zezwalaj na wartości null .
Ustaw CONTEXT_INFO nie akceptuje wyrażenia inne niż stałe lub nazwy zmiennych.Aby zestaw informacje kontekstu w wyniku wywołania funkcja , należy najpierw umieścić wyników wywołania funkcja w binary lub varbinary zmienną.
Ustaw CONTEXT_INFO wydaje się w procedura składowana lub wyzwalacz, w odróżnieniu od w inne instrukcje SET nową wartość zestaw informacji kontekstu pozostanie po wykonaniu procedura składowana lub wyzwalacz zostanie zakończone.
Przykłady
A.Ustawienie informacji kontekstu przy użyciu stała
Poniższy przykład ilustruje SET CONTEXT_INFO przez ustawienie wartości i wyświetlania wyniki.Należy zauważyć, że badanie sys.dm_exec_sessions wymaga uprawnienia SELECT i stan WIDOKU serwera, używając funkcja CONTEXT_INFO jest nie.
SET CONTEXT_INFO 0x01010101
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B.Informacje kontekstowe ustawienie przy użyciu funkcja
Poniższy przykład demonstruje użycie danych wyjściowych funkcja , aby zestaw wartość kontekstu, gdzie wartości z funkcja musi być najpierw umieszczane są w binary zmienną.
DECLARE @BinVar varbinary(128)
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) )
SET CONTEXT_INFO @BinVar
SELECT CONTEXT_INFO() AS MyContextInfo;
GO