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