Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Łączy do 128 bajtów informacji binarnych z aktualną sesją lub połączeniem.
Transact-SQL konwencje składni
Składnia
SET CONTEXT_INFO { binary_str | @binary_var }
Arguments
binary_str
Jest stałą binarną lub stałą, którą można domyślnie przekształcić na binarną, aby skojarzyć się z bieżącą sesją lub połączeniem.
@binary_var
Czy jest zmienną varbinarną lub binarną zawierającą wartość kontekstową do powiązania z bieżącą sesją lub połączeniem.
Uwagi
Jak wszystkie instrukcje SET, SET CONTEXT_INFO wpływa na bieżącą sesję. Preferowanym sposobem pobrania informacji kontekstowych dla bieżącej sesji jest użycie funkcji CONTEXT_INFO. Informacje o kontekście sesji są również przechowywane w kolumnach context_info w następujących widokach systemowych:
sys.dm_exec_requestssys.dm_exec_sessions-
sys.sysprocesses(przestarzałe)
SET CONTEXT_INFO nie może być określony w funkcji zdefiniowanej przez użytkownika. Nie możesz podać wartości NULL do SET CONTEXT_INFO, ponieważ widoki zawierające te wartości nie pozwalają na wartości NULL.
SET CONTEXT_INFO nie akceptuje wyrażeń innych niż stałe lub nazwy zmiennych. Aby ustawić informacje kontekstowe do wyniku wywołania funkcji, najpierw należy uwzględnić wynik wywołania funkcji w zmiennej binarnej lub varbinarnej .
Gdy wydajesz CONTEXT_INFO SET w procedurze zapisanej lub wyzwalaczu, w przeciwieństwie do innych instrukcji SET, nowy zestaw wartości dla informacji kontekstowej pozostaje zachowany po zakończeniu procedury lub wyzwalania.
Przykłady
A. Określ informacje kontekstowe za pomocą stałej
Poniższy przykład demonstruje SET CONTEXT_INFO to poprzez ustawienie wartości i wyświetlanie wyników. Zapytania sys.dm_exec_sessions wymagają uprawnień SELECT i VIEW SERVER STATE, natomiast 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. Ustal informacje kontekstowe za pomocą funkcji
Poniższy przykład pokazuje użycie wyjścia funkcji do ustawienia wartości kontekstowej, gdzie wartość z funkcji musi być najpierw umieszczona w zmiennej binarnej .
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO