У нашего сервера базы данных есть план обслуживания, который выполняется каждую ночь:
Обычно все это выполняется менее чем за минуту для каждой базы данных. Однако за последний месяц было два случая, когда он просто замораживал базу данных на 3 часа. Оператор DBCC занял 2 часа, но завершился без ошибок. Все это время наша база данных отклоняла соединения.
Помимо этих двух отдельных инцидентов, в этой базе данных никогда не было ни одной проблемы.
Может ли кто-нибудь подсказать, что может вызвать такую проблему?
Николас прав в том, что вам обычно (всегда есть исключения) не нужно выполнять перестройку индекса каждую ночь (особенно если у вас есть версия Standard, которая не позволяет выполнять перестройку онлайн).
Возможно, вы захотите отказаться от планов обслуживания, особенно в отношении дефрагментации индекса и восстановления статистики. Я бы пошел со сценарием, который смотрит на уровень фрагментации ваших индексов и решает, нужно ли его перестраивать или нет. У Мишель Аффорд (@SQLFool) есть отличный скрипт, который позволяет вам выполнять ночные задания, которые проверяют уровни фрагментации и перестраивают только те индексы, которые соответствуют определенному уровню фрагментации (установленному вами). Вы можете найти сценарий здесь: http://sqlfool.com/2010/04/index-defrag-script-v4-0/. Этот скрипт также обновит статистику при необходимости. Есть много других подобных скриптов.
HTH, Дэн
Отвечая на свой вопрос:
После запуска автономного chkdsk, только для того, чтобы он снова повторился через неделю, мы диагностировали это как аппаратный сбой или проблему с ОС низкого уровня и запросили новый сервер у нашего интернет-провайдера.
После того, как мы восстановили ту же базу данных на нашем новом сервере, он теперь работает безупречно в течение 4 месяцев, с той лишь разницей, что установлено оборудование и ОС. Дело закрыто.
Похоже, это может быть резкое увеличение роста файлов базы данных? Вы проверили SQL Server Error_Log и просто задаетесь вопросом, можете ли вы сокращать журналы перед периодом обслуживания каждую ночь?