SESSION_CONTEXT (Transact-SQL)
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores de Azure SQL Database Azure SQL Instancia administrada punto de conexión de SQL Analytics de Azure Synapse Analytics en Microsoft Fabric Warehouse en Microsoft Fabric
Devuelve el valor de la clave especificada en el contexto de la sesión actual. El valor se establece con el procedimiento sp_set_session_context (Transact-SQL).
Convenciones de sintaxis de Transact-SQL
Sintaxis
SESSION_CONTEXT(N'key')
Argumentos
'key'
Clave (de tipo sysname) del valor que se va a recuperar.
Tipo de valor devuelto
sql_variant
Valor devuelto
Valor asociado con la clave especificada en el contexto de la sesión, o NULL si no se ha establecido ningún valor para esa clave.
Permisos
Cualquier usuario puede leer el contexto de la sesión.
Observaciones
El comportamiento de MARS en SESSION_CONTEXT es similar al de CONTEXT_INFO. Si un lote MARS establece un par clave-valor, el nuevo valor no se devolverá en otros lotes MARS en la misma conexión, a menos que dichos lotes se inicien después de que el lote que estableció el nuevo valor se haya completado. Si hay varios lotes MARS activos en una conexión, los valores no se pueden establecer en “read_only”. Esto evita que se produzcan condiciones de carrera y no determinismo sobre qué valor “gana”.
Ejemplos
En el siguiente ejemplo, el valor de contexto de la sesión de la clave user_id
se establece en 4 y, después, se usa la función SESSION_CONTEXT para recuperarlo.
EXEC sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
Consulte también
sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
Seguridad de nivel de fila
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)