如何限制MS SQL Server内存使用量?


22

我听说MS SQL Server占用了尽可能多的RAM来缓存结果。好吧,这并没有为我们的小服务器的RAM留出足够的讨价还价空间。

如何更改设置以限制可以使用的RAM数量?

在Windows Server 2008上运行的MS SQL Server。


3
@DavidSchwartz:我想您会发现许多MS SQL DBA都会限制DBE可以使用的RAM数量。它通常会对系统上运行的任何其他内容产生性能影响。
wfaulk 2012年

1
@wfault:“ 默认情况下,SQL Server可以根据可用的系统资源动态地更改其内存需求。 ”许多人只是为了弄乱事物而喜欢弄乱事物,但是他们实际上正在做的事情是抑制服务器的功能以适应不断变化的负载。如果没有破裂,则无法修复。这通常是由喜欢看到大量空闲内存以使自己感觉良好的人完成的,但是实际上,任何空闲内存也未被使用-就是浪费。
David Schwartz

4
@DavidSchwartz:我知道您来自哪里,在任何其他情况下,我都会同意您的看法,但是MS SQL似乎并不能很好地对此进行优化,IME。
wfaulk 2012年

1
它实际上被破坏了,因为它将使服务器停止运行……
FlavorScape 2013年

Answers:


24

如何使用SQL Server Management Studio配置内存选项中

使用最小服务器内存最大服务器内存这两个服务器内存选项,可以重新配置由SQL Server内存管理器为SQL Server实例管理的内存量(以兆字节为单位)。

  1. 在对象资源管理器中,右键单击服务器,然后选择“ 属性”
  2. 单击“ 内存”节点。
  3. 在“ 服务器内存选项”下,输入“ 最小服务器内存”和“ 最大服务器内存”所需的数量

您也可以使用以下命令(示例)在T-SQL中执行此操作:

exec sp_configure 'max server memory', 1024
reconfigure


2

限制MS SQL Service内存消耗:

在SQL Server Management Studio中设置“最大服务器内存”

  1. 现在,我们将设置“最大服务器内存”选项以限制SQL Server的内存使用量。我们可以通过右键单击实例并选择“属性”来实现。

  2. 在对象资源管理器中,右键单击服务器,然后选择“属性”。 在此处输入图片说明

  3. 单击“内存”节点,如下所示:

在此处输入图片说明 4.在服务器内存选项下,输入所需的最大服务器内存量。如下所示,我们将最大服务器内存设置为4096 MB(即4 GB)。

在此处输入图片说明

限制MS SQL Service内存消耗:

我们还可以使用T-SQL脚本设置“最大服务器内存”:

以下示例将最大服务器内存选项设置为4 GB:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO

参考:https : //technet.microsoft.com/zh-cn/library/ms191144(v= sql.105) .aspx

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.