Windows Server 2012 R2& SQL Server 2012内存使用率低

时间:2016-02-07 07:40:00

标签: sql-server windows-server-2012-r2

我找不到解决问题的方法......

我们安装了Windows Server 2012 R2和SQL Server 2012。我没有安装这个服务器,所以我不能说每个用户在启动时是否有一些资源分配。

我的问题是,如果我通过远程桌面连接到服务器并运行查询,即使它是一个简短的查询,设置了索引/密钥,它们也需要很长时间才能执行,但我在任务管理器中发现我可以&# 39;为SQL Server获得超过200GB的内存使用量。

SQL Server中的最大内存设置设置为2147483647

如果我只有一些内存分配给我的帐户,我在哪里可以找到?

由于

1 个答案:

答案 0 :(得分:0)

内存使用可能并不总是一个问题。您可以使用以下dmvs检查查询是否在等待内存授予

- 在dmv下面给出了等待内存授权的查询文本

select * from sys.dm_exec_query_memory_grants mg
 join
sys.dm_exec_requests ec
 on ec.session_id=mg.session_id
 --left join
 --sys.dm_exec_connections con
 --on con.session_id=ec.session_id
 outer apply
 sys.dm_exec_sql_text(ec.sql_handle) txt
 outer apply
 sys.dm_exec_query_plan(ec.plan_handle) qp

此外,您可以检查哪个内存职员使用的内存最多

select (sum(pages_kb)*128)/1024 as 'sizein_mb',type as 'clerkttype'
from sys.dm_os_memory_clerks
group by type
order by (sum(pages_kb)*128)/1024 desc

在此之前,您可能需要检查是否有锁定,阻塞

select 
 session_id,status,blocking_session_id,wait_type,txt.text from sys.dm_exec_requests ec
cross apply
sys.dm_exec_sql_text(ec.sql_handle) txt

希望这有助于您的故障排除。从任务管理器检查内存不会让您获得准确的统计数据。下面的问题和答案有理由和一些好的链接进一步检查。

https://dba.stackexchange.com/questions/35418/why-is-sql-server-memory-showing-in-task-manager