增加 SQL Server 产品上的最大内存设置

Ron*_*red 7 sql-server memory configuration sql-server-2014

我有一个带有 5 个实例的生产盒。

版本:SQL Server 2014 SP3 企业版。

我发现即使机器分配了大约 400GB 的内存,所有 5 个实例的组合MAX MEMORY设置也小于 200GB。

实例不会受到内存压力的影响,但是由于我们已经分配了该内存,所以不使用它是一种浪费。

我想将其增加到更高的值,为操作系统保留 10%(某些实例的分配将高于其他实例)。

不过,我以前从来没有对这个设置做过这么大的增加。

我知道这是一个不需要重启的动态设置,但是,我想知道以下几点:

  • 我应该分两个阶段增加(即增加一半,等待一周然后再次增加)?
  • 如果 SQL Server 突然有更多的内存可以使用,是否会突然中断(或导致性能下降)?

我们没有启用内存设置中的锁定页面,也没有启用跟踪标志 834

Sha*_*nky 0

您可以随时更改 SQL Server 最大服务器内存,但是当您这样做时,SQL Server 计划、数据和其他缓存将被刷新。这意味着命中 SQL Server 的新查询将再次通过查询计划创建过程,这有时可能是决定因素。因此,如果您确实想要这样做,请告知利益相关者您想要更改最大服务器内存,并在负载相对较小时执行此操作。另请告知人们,由于冷缓存,少数查询在首次运行期间可能需要更长的时间才能执行。

我是否应该分两个阶段增加(即增加一半,等待一周,然后再次增加)?

得到批准后就可以了,而且负荷相对很小的时候就可以了,不需要分阶段进行。

如果 SQL Server 突然有这么多内存可供使用,是否会突然出现故障(或导致性能下降)?

事情不会中断,但是是的,由于缓存被刷新,很少有查询可能会在第一次运行时花费更多时间来执行。

我们没有启用内存设置中的锁定页面,

我建议您在运行 5 个实例时特别这样做。任何实例,由于一些恶意查询/进程,都不应该允许占用所有内存。最好为所有 SQL Server 实例设置最大限制。另请注意,在某些情况下,SQL Server 的消耗可能会超过最大限制。添加 LPIM 需要“SQL Server 重新启动”

理想情况:当您计划添加 LPIM 并更改最大服务器内存时,因为您没有遇到任何问题,所以您有时间。