Монитор SQL Server 2008
У меня есть экземпляр SQL Server 2008 R2, запущенный на веб-сервере, и я хотел бы отслеживать запущенные процессы, которые он имеет, или какие блокировки он поддерживает. Процесс SQL Server будет постепенно (примерно через неделю) занимать около 80-90% памяти, поэтому необходимо что-то перегружать сервер. Существуют ли какие-либо стандартные инструменты для этого или какие-либо сторонние инструменты, которые я мог бы использовать?
ТИА!
2 ответа
Процесс SQL Server будет постепенно (примерно через неделю) занимать около 80-90% памяти, поэтому необходимо что-то перегружать сервер.
Если бы я получал по центу каждый раз, когда кто-то не читал документацию и не задавал этот вопрос, я был бы миллиардером.
SQL Server, в стандартной конфигурации, использует ВСЕ ДОСТУПНЫЕ ПАМЯТИ КАК КЭШ. Для скорости вверх.
Если вы не согласны с этим, перейдите в свойства сервера и сообщите SQL Server, сколько памяти он может использовать. Он с удовольствием будет придерживаться этого.
Иначе, опять же, каждое чтение данных кэшируется. Точка. Старые страницы выпускаются как новые прочитанные.
Зачем
Потому что чтение дисков очень медленное.
Большинство "настоящих" установок SQL Server работают на выделенных компьютерах. Что делает поведение по умолчанию ОЧЕНЬ желательным.
Ничего плохого здесь, кроме администратора, не заботило, чтобы правильно настроить SQL-сервер;)
Доступно множество сторонних инструментов от Quest, Idera, SQLSentry и многие другие.
То, что вы предлагаете, звучит очень похоже на нормальное поведение, хотя для SQL Server, который будет пытаться захватить столько памяти, сколько считает необходимым. Ваша первая лучшая ставка - использовать системный монитор и регистрироваться, чтобы регистрировать и анализировать результаты.
Взгляните на http://support.microsoft.com/kb/298475 и http://msdn.microsoft.com/en-us/library/dd672789.aspx
как небольшой выбор...