На самом деле, есть небольшая хитрость, чтобы получить то, что вы ищете. Проблема/вопрос заключается в том, как заставить SQL Server «временно» отказаться от памяти, в которой он может не нуждаться, а затем позволить ему повторно использовать ее по мере необходимости.
Для этого запустите следующий скрипт:
EXEC sys.sp_configure N'show advanced options', N'1'
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'max server memory (MB)', N'{low water mark}'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'max server memory (MB)', N'{High water mark}'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'show advanced options', N'0'
RECONFIGURE WITH OVERRIDE
GO
Введите собственные значения для {минимальной отметки} и {максимальной отметки} (в МБ).
Это приведет к уменьшению памяти до минимального объема, а затем сразу же откроет ее снова, если SQL Server нуждается / хочет этого.
Осталось только запланировать запуск скрипта на периодической основе.
Рекомендация:
Там, где SQL Server не используется интенсивно, попробуйте автоматически запускать его каждые 6 часов. Если он интенсивно используется, запускайте его каждые 24 часа (скажем, посреди ночи или перед началом дня). Ваше использование будет отличаться.
person
Dave Balsillie
schedule
07.01.2011