Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 确定用户在SQL Server中缓存的内存量_Sql Server_Caching_Sql Server 2014 - Fatal编程技术网

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 column
memory\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