Sql server “为什么要减少?”;“最大服务器内存”;在SQL Server中提高我的应用程序性能?

Sql server “为什么要减少?”;“最大服务器内存”;在SQL Server中提高我的应用程序性能?,sql-server,Sql Server,我的应用程序的一个区域出现间歇性问题,开始运行缓慢。该应用程序是ASP.Net+和SQL Server。我们偶然发现,对SQL server中的“最大服务器内存”进行任何更改(无论是向上还是向下),都会立即停止该问题 问题区域是相当动态的,并且被许多线程同时更新,所以我目前最好的猜测是解释DB中的某种死锁问题。不幸的是,这种情况很少发生,只发生在一个实时系统上,当它发生时,我们必须迅速修复它。由于“挖掘”的机会不多,我想缩小我的搜索范围,这个奇怪的现象似乎是一个线索 我已经在谷歌上搜索了这个,并

我的应用程序的一个区域出现间歇性问题,开始运行缓慢。该应用程序是ASP.Net+和SQL Server。我们偶然发现,对SQL server中的“最大服务器内存”进行任何更改(无论是向上还是向下),都会立即停止该问题

问题区域是相当动态的,并且被许多线程同时更新,所以我目前最好的猜测是解释DB中的某种死锁问题。不幸的是,这种情况很少发生,只发生在一个实时系统上,当它发生时,我们必须迅速修复它。由于“挖掘”的机会不多,我想缩小我的搜索范围,这个奇怪的现象似乎是一个线索

我已经在谷歌上搜索了这个,并查看了“联机丛书”,所以我知道“最大服务器内存”不是一个需要重新启动的设置。我找不到的是当重新配置被称为“引擎盖下”时会发生什么的详细描述

我希望这里有人知道,或者可以向我提供更详细的资源。我只是想说清楚,我不是在征求一般性意见,所以请尽量保持具体。谢谢:)

更新:


调用DBCC FREEPROCCACHE对问题没有任何影响,而缓冲内存会继续立即修复症状。

您有性能问题,应该通过调查性能来解决,而不是通过测试。遵循性能故障排除方法,如确定瓶颈,然后根据确定的问题采取适当的措施


至于你对“内部僵局”的猜测,他们是。。。创造性的一个更现实的解释是,弄乱服务器设置,就是在取缔服务器。

您能告诉我们一些有关硬件的信息吗?听起来就像sql server耗尽了所有内存,asp.net失去了喘息空间,可能开始交换(速度非常慢)嗨,谢谢你的想法,但我认为这不太可能是原因。实际的站点运行在另一台机器上,而SQL server是独立运行的。您好,您能详细介绍一下“拨弄时钟指针”吗?为什么可用内存的增加会导致查询计划立即退出?运行
select。。。从sys.dm_exec_cached_plan
。对
最大服务器内存进行任何更改
。再次运行
选择。。。从sys.dm_exec_cached_plan
。QEDOn严肃地指出:计划在优化过程中会考虑很多因素,包括可用内存。如果以任何方式修改
max server memory
,所有计划都将失效,并在新的内存条件下强制重新编译,这是非常合理的。因此,概括地说,我实际问题的答案是:“修改
max server memory
会导致SQL server使缓存的计划失效”?