Назад | Перейти на главную страницу

SQL Server хлопает по диску

У меня есть игровой сервер, работающий на коробке с Windows 2003 с 4 ГБ ОЗУ. Игровой сервер использует базу данных, установленную на том же компьютере под управлением SQL Server 2008. Около недели назад я начал наблюдать странное поведение - время от времени (примерно с 24-часовыми интервалами) SQL Server начинает сильно хлопать по диску. , настолько сильно, что ящик почти не отвечает. Я мог обнаружить резкие удары в инструменте мониторинга производительности, который поставляется с Windows, где средняя длина очереди диска оставалась на максимальном уровне 100, когда это происходило. Когда это происходит, инструмент монитора процессов от Sysinternals показывает, что процесс SQL Server постоянно выполняет вызов ReadFile для файла .mdf базы данных (много последовательных вызовов). Размер файла базы данных составляет 3,2 ГБ. Что делает это таким странным, так это то, что база данных постоянно используется 24/7 с примерно одинаковой нагрузкой, однако это происходит только в определенные часы. Кто-нибудь знает, что может вызвать эту проблему и как ее диагностировать дальше? Заранее спасибо.

Есть ли запланированные работы по обслуживанию базы данных? (Резервные копии базы данных, DBCC CHECKDB, переиндексирование)?

Если да, то это может быть ваша вина. Если нет, сделайте немного :)

Чтобы узнать, какая активность происходит на самом деле, используйте утилиту SQL Profiler или запустите трассировку SQL, чтобы записать активность в файл. Это должно сообщить вам, какой вид деятельности на самом деле происходит, и нужно ли вам настроить некоторые запросы или предпринять какие-то другие действия.

И напоследок: включен ли AutoShrink? Если да, выключите!

Вот несколько статей, подтверждающих это последнее утверждение:

Пусть названия статей говорят сами за себя :)

Установлено ли на вашем игровом сервере какое-либо антивирусное программное обеспечение?

Если у вас установлена ​​SQL Server Management Studio, я бы проверил Activity Monitor, когда это произойдет, и посмотрю, сможете ли вы изолировать конкретный процесс или запланированное задание.