SESSION_CONTEXT (Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL Server 2016(13.x) 이상 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL 분석 엔드포인트

현재 세션 컨텍스트에서 지정된 키의 값을 반환합니다. 이 값은 sp_set_session_context(Transact-SQL) 프로시저를 사용하여 설정됩니다.

Transact-SQL 구문 규칙

구문

SESSION_CONTEXT(N'key')  

인수

'key'
검색되는 값의 키(sysname 형식)입니다.

반환 형식

sql_variant

Return Value

세션 컨텍스트에서 지정된 키와 연관된 값이거나 해당 키에 값이 설정되지 않은 경우 NULL입니다.

사용 권한

모든 사용자는 해당 세션에 대한 세션 컨텍스트를 읽을 수 있습니다.

설명

SESSION_CONTEXT의 MARS 동작은 CONTEXT_INFO의 그것과 유사합니다. MARS 일괄 처리가 키-값 쌍을 설정하는 경우 새 값을 완료로 설정하는 일괄 처리를 시작하지 않았다면 동일한 연결의 다른 MARS 일괄 처리에서 새 값을 반환하지 않습니다. 여러 MARS 일괄 처리가 연결에서 활성화된 경우 값을 "read_only"로 설정할 수 없습니다. 이는 경쟁 조건과 어떤 값이 "승리"하는지에 대한 비결정성을 방지할 수 있습니다.

예제

다음 간단한 예에서는 키 user_id의 세션 컨텍스트 값을 4로 설정한 다음, SESSION_CONTEXT 함수를 사용하여 값을 검색합니다.

EXEC sp_set_session_context 'user_id', 4;  
SELECT SESSION_CONTEXT(N'user_id');  

참고 항목

sp_set_session_context(Transact-SQL)
CURRENT_TRANSACTION_ID(Transact_SQL)
행 수준 보안
CONTEXT_INFO(Transact-SQL)
SET CONTEXT_INFO(Transact-SQL)