如何获取所有SESSION_CONTEXT变量的列表,或者检查是否有任何变量设置为会话上下文?
据我所知,未将变量设置为会话上下文时,SESSION_CONTEXT返回NULL。由于变量也可以获取NULL值,因此无法确切确定是将变量设置为上下文变量还是否。
EXEC sp_set_session_context 'varnull', null
SELECT SESSION_CONTEXT(N'varnull') -- returns NULL and variable EXISTS
SELECT SESSION_CONTEXT(N'varnoset') -- returns NULL and variable DOES NOT EXIST
答案 0 :(得分:1)
exec sp_set_session_context @key, null
上面的语句实际上从 SESSION_CONTEXT 中删除了带有@key的条目,并减少了 SESSION_CONTEXT 中的 entries_count 。总体内存使用情况和条目数可以通过
进行监控SELECT * FROM sys.dm_os_memory_cache_counters WHERE type = 'CACHESTORE_SESSION_CONTEXT';
我认为在当前版本的SQL Server中,不可能获得SESSION_CONTEXT的完整键列表