我们试图找出运行缓慢的sql服务器查询从以下配置之一托管的服务器(大小为300 GB)中命中/获取数据的根本原因:
Windows Server 2003 R2,SP2,企业版,16 GB RAM,12 CPU 32位
SQL Server 2005 SP4企业版32位。
我们已经通知企业升级到64位需要一个多月的时间。
但是对于当前问题,如果可以解决内存压力或最终得出结论以增加RAM,则我们正在尝试收集数据。
完成的操作:重新索引和更新统计信息适用于此数据库。
如下图所示,我们已经注意到过去5天在加载时间内运行的信号量等待类型:
以下查询后很少有信息:缓冲区大小= 137272
SELECT SUM(virtual_memory_committed_kb)
FROM sys.dm_os_memory_clerks
WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
和以下每个查询的信号量内存= 644024
SELECT SUM(total_memory_kb)
FROM sys.dm_exec_query_resource_semaphores
以下是从dm_exec_query_resource_semaphores
和sys.dm_exec_query_memory_grants
dvv 收集的更多信息
因此,从上面收集的信息和每个SP_Blitz数据来看,资源信号似乎是问题所在。
与可用的16 GB RAM相比,是否为资源信号ID分配的内存'target_memory_kb'太低。
注意*运行8小时的每次分析“ target_memory_kb”始终小于1 GB,而可用的16 GB是多少?
这里可能是什么问题以及如何解决,请提出建议
谢谢