Udostępnij za pośrednictwem


ZESTAW CONTEXT_INFO (Transact-SQL)

Kojarzy do 128 bajtów informacji binarnych z bieżącej sesja lub połączenia.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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