Sql server 确定用户在SQL Server中缓存的内存量
我有一个多用户的数据库。缓存有一个问题,我需要处理 是否可以检查哪个用户缓存的数据最多 我知道这不能解决我的问题,但这是我需要的信息Sql server 确定用户在SQL Server中缓存的内存量,sql-server,caching,sql-server-2014,Sql Server,Caching,Sql Server 2014,我有一个多用户的数据库。缓存有一个问题,我需要处理 是否可以检查哪个用户缓存的数据最多 我知道这不能解决我的问题,但这是我需要的信息 我知道可以检查哪个对象使用了多少内存缓存。但是我想获得有关用户的信息。您可以从DMV中的内存使用量列 内存使用率/int/此服务器使用的8-KB内存页数 一场不可为空 已编辑 缓冲池中的缓存页(以及过程缓存中的执行计划)不属于任何用户,因为它们在查询完成后留在那里,将这些页从磁盘读入RAM,并被其他查询重用,这些查询可能属于许多用户的其他会话。您可以获得有关内存量
我知道可以检查哪个对象使用了多少内存缓存。但是我想获得有关用户的信息。您可以从DMV中的
内存使用量列
内存使用率/int/此服务器使用的8-KB内存页数
一场不可为空
已编辑
缓冲池中的缓存页(以及过程缓存中的执行计划)不属于任何用户,因为它们在查询完成后留在那里,将这些页从磁盘读入RAM,并被其他查询重用,这些查询可能属于许多用户的其他会话。您可以获得有关内存量的信息,由用户在时间点查询使用,来自DMV from columnmemory\u usage
内存使用率/int/此服务器使用的8-KB内存页数
一场不可为空
已编辑
缓冲池中的缓存页(以及过程缓存中的执行计划)不属于任何用户,因为它们在查询完成后留在那里,将这些页从磁盘读入RAM,并被其他查询重用,这些查询可能属于许多用户的其他会话。不可能,因为缓冲池(缓存数据)、过程缓存(执行计划)、内存分配和用户(会话)之间没有相关性
如果您有性能问题,我建议您这样处理,并进行适当的调查。这是一个好的开始。特别是对于内存问题,您可以读取,但您应该首先证明内存使用是一个问题
因为一般性建议不会通过将问题描述为“存在问题”来接近专家。准确描述问题、症状、您遇到的任何错误消息、您进行的确切调查、您测量的方式和内容以及观察到的值。不可能,因为缓冲池(缓存数据)、过程缓存(执行计划)、内存分配和用户(会话)之间不存在相关性
如果您有性能问题,我建议您这样处理,并进行适当的调查。这是一个好的开始。特别是对于内存问题,您可以读取,但您应该首先证明内存使用是一个问题
因为一般性建议不会通过将问题描述为“存在问题”来接近专家。准确描述问题、症状、您遇到的任何错误消息、您所做的确切调查、您如何测量、测量了什么以及观察到的值是什么。这肯定不是该用户缓存到数据库中的数据量。这肯定不是该用户缓存到数据库中的数据量。
SELECT des.login_name
,SUM(memory_usage)*8 memory_usage_KB
FROM sys.dm_exec_sessions des
WHERE des.is_user_process = 1
GROUP BY des.login_name