SESSION_CONTEXT (Transact-SQL)
Si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics in Microsoft Fabric Warehouse in Microsoft Fabric
Restituisce il valore della chiave specificata nel contesto della sessione corrente. Il valore viene impostato usando la stored procedure sp_set_session_context (Transact-SQL).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
SESSION_CONTEXT(N'key')
Argomenti
'key'
Chiave (tipo sysname) del valore da recuperare.
Tipo restituito
sql_variant
Valore restituito
Valore associato alla chiave specificata nel contesto della sessione oppure NULL se non è stato impostato alcun valore per tale chiave.
Autorizzazioni
Qualsiasi utente può leggere il contesto della sessione per la propria sessione.
Osservazioni:
Il comportamento di MARS per SESSION_CONTEXT è simile a quello per CONTEXT_INFO. Se un batch MARS imposta una coppia chiave-valore, il nuovo valore non viene restituito in altri batch MARS nella stessa connessione, salvo se l'operazione è iniziata dopo il completamento del batch che ha impostato il nuovo valore. Se più batch MARS sono attivi in una connessione, i valori non possono essere impostati come "read_only". Questo comportamento impedisce le race condition e il non determinismo relativo al valore che "ottiene la precedenza".
Esempi
Nell'esempio seguente viene impostato il valore di contesto della sessione per la chiave user_id
su 4, quindi viene usata la funzione SESSION_CONTEXT per recuperare il valore.
EXEC sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
Vedi anche
sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
Sicurezza a livello di riga
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)