Как ограничить использование памяти MS SQL Server?

22

Я слышал, что MS SQL Server занимает как можно больше оперативной памяти для кэширования результатов. Ну, это не оставляет достаточно места для переговоров для оперативной памяти нашего маленького сервера.

Как изменить настройки, чтобы ограничить объем используемой оперативной памяти?

MS SQL Server работает на Windows Server 2008.

FlavorScape
источник
3
@DavidSchwartz: Я думаю, вы обнаружите, что многие администраторы баз данных MS SQL ограничат объем ОЗУ, который может использовать DBE. Это часто влияет на производительность всего, что работает в системе.
wfaulk
1
@wfault: « По умолчанию SQL Server может динамически изменять свои требования к памяти в зависимости от доступных системных ресурсов. » Многие люди любят возиться с вещами просто ради того, чтобы возиться с ними, но на самом деле они ограничивают возможности сервера настроиться на изменение нагрузки. Если это не сломано, вы не можете это исправить. Чаще всего это делают люди, которым нравится видеть много свободной памяти, чтобы чувствовать себя хорошо, но на самом деле любая свободная память также не используется, то есть тратится впустую.
Дэвид Шварц
4
@DavidSchwartz: Я понимаю, откуда вы, и в любой другой ситуации я бы с вами согласился, но MS SQL, похоже, не очень хорошо оптимизирует это, IME.
wfaulk
1
Это на самом деле было сломано, так как это остановило бы сервер ...
FlavorScape
1
Я согласен с этим чуваком: sqlservercentral.com/blogs/glennberry/2009/10/29/…
Даниэль Долз

Ответы:

24

Из Как настроить параметры памяти с помощью SQL Server Management Studio :

Используйте два параметра памяти сервера: минимальная память сервера и максимальная память сервера , чтобы перенастроить объем памяти (в мегабайтах), управляемый диспетчером памяти SQL Server для экземпляра SQL Server.

  1. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите Свойства .
  2. Нажмите на узел памяти .
  3. В разделе « Параметры памяти сервера» введите желаемое количество для минимальной памяти сервера и максимальной памяти сервера .

Вы также можете сделать это в T-SQL, используя следующие команды (пример):

exec sp_configure 'max server memory', 1024
reconfigure
wfaulk
источник
2

Чтобы ограничить потребление памяти MS SQL Service:

Установите «максимальный объем памяти сервера» в SQL Server Management Studio

  1. Теперь мы установим параметр «max server memory», чтобы ограничить использование памяти SQL Server. Мы можем сделать это, щелкнув правой кнопкой мыши на нашем экземпляре и выбрав «Свойства».

  2. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите Свойства. введите описание изображения здесь

  3. Нажмите на узел памяти, как показано ниже:

введите описание изображения здесь 4. В разделе «Параметры памяти сервера» введите желаемое количество для максимальной памяти сервера. Ниже, как вы можете видеть, мы устанавливаем максимальный объем памяти сервера до 4096 МБ (т.е. 4 ГБ).

введите описание изображения здесь

Чтобы ограничить потребление памяти MS SQL Service:

Мы также можем установить «max server memory», используя скрипт T-SQL:

В следующем примере для параметра max server memory установлено значение 4 ГБ:

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

Ссылка: https://technet.microsoft.com/en-us/library/ms191144(v=sql.105).aspx

Кундан Дасанж
источник