Мы находимся в процессе перехода с одного сервера на другой.
Я запускаю базу данных SQL Server с нашего нового сервера, а старый сервер теперь использует его в качестве сервера БД, чтобы обеспечить плавный переход с одного сервера на другой, пока DNS распространяется, чтобы никому не было простоев.
На новом сервере в настоящее время больше ничего не работает, это новая установка всего.
Кажется, что процесс sqlserver.exe непрерывно увеличивает требования к памяти, это, скорее всего, связано с некорректным закрытием соединений на моем веб-сайте? Или есть какие-то известные утечки памяти в SQL Server? Мы получаем около 40 тысяч просмотров страниц в день, что, вероятно, примерно в 5 раз больше, чем количество просмотров страниц поисковыми роботами.
Общий размер БД MDF + LDF совсем небольшой, всего 600мб. Текущая фиксация (КБ) sqlservr.exe - 2 393 000. Он увеличивается примерно на 0,5 МБ каждую секунду или две.
Если на нашем веб-сайте соединения не закрываются должным образом, есть ли способ очистить старые открытые соединения? Что мы можем сделать тем временем, кроме очевидного устранения первопричины?
Я не гуру по внутреннему SQL, но, насколько мне известно, SQL будет использовать столько оперативной памяти, сколько вы настроили, и что ОС позволяет ему иметь. Кэшируется больше, чем сама БД, например планы выполнения http://msdn.microsoft.com/en-us/library/ms181055.aspx
Как правило, ваша память SQL должна быть настроена следующим образом:
Возьмите оперативную память вашей ОС и вычтите 2 ГБ или 10%, в зависимости от того, что больше. Это должен быть «Максимальный» объем памяти. Затем установите минимальный объем памяти на половину того, что установлено в вашей ОС. Согласно Бренту Озару http://www.brentozar.com/archive/2008/03/sql-server-2005-setup-checklist-part-1-before-the-install/