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

База данных MSSQL2005 зависает во время обслуживания

У нашего сервера базы данных есть план обслуживания, который выполняется каждую ночь:

  1. Резервное копирование баз данных и журналов (макс. 10-20 ГБ)
  2. Проверить целостность базы данных
  3. Восстановить индексы
  4. Обновить статистику

Обычно все это выполняется менее чем за минуту для каждой базы данных. Однако за последний месяц было два случая, когда он просто замораживал базу данных на 3 часа. Оператор DBCC занял 2 часа, но завершился без ошибок. Все это время наша база данных отклоняла соединения.

Помимо этих двух отдельных инцидентов, в этой базе данных никогда не было ни одной проблемы.

Может ли кто-нибудь подсказать, что может вызвать такую ​​проблему?

Николас прав в том, что вам обычно (всегда есть исключения) не нужно выполнять перестройку индекса каждую ночь (особенно если у вас есть версия Standard, которая не позволяет выполнять перестройку онлайн).

Возможно, вы захотите отказаться от планов обслуживания, особенно в отношении дефрагментации индекса и восстановления статистики. Я бы пошел со сценарием, который смотрит на уровень фрагментации ваших индексов и решает, нужно ли его перестраивать или нет. У Мишель Аффорд (@SQLFool) есть отличный скрипт, который позволяет вам выполнять ночные задания, которые проверяют уровни фрагментации и перестраивают только те индексы, которые соответствуют определенному уровню фрагментации (установленному вами). Вы можете найти сценарий здесь: http://sqlfool.com/2010/04/index-defrag-script-v4-0/. Этот скрипт также обновит статистику при необходимости. Есть много других подобных скриптов.

HTH, Дэн

Отвечая на свой вопрос:

После запуска автономного chkdsk, только для того, чтобы он снова повторился через неделю, мы диагностировали это как аппаратный сбой или проблему с ОС низкого уровня и запросили новый сервер у нашего интернет-провайдера.

После того, как мы восстановили ту же базу данных на нашем новом сервере, он теперь работает безупречно в течение 4 месяцев, с той лишь разницей, что установлено оборудование и ОС. Дело закрыто.

Похоже, это может быть резкое увеличение роста файлов базы данных? Вы проверили SQL Server Error_Log и просто задаетесь вопросом, можете ли вы сокращать журналы перед периодом обслуживания каждую ночь?