Condividi tramite


SESSION_CONTEXT (Transact-SQL)

Si applica a: SQL Server 2016 (13.x) e Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Endpoint di analisi SQL 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)