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

план обслуживания сервера sql

Каковы лучшие практики для оптимального обслуживания базы данных?

необходимо ли обновлять статистику? (я думаю, что обновление статистики включено по умолчанию) как насчет реорганизации индексов или просто их восстановления? сжать базу данных? проверка целостности?

Как часто вы их запускаете?

необходимо ли обновлять статистику?

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

как насчет реорганизации индексов или просто их восстановления?

Обычная передовая практика для этого в отрасли - запустить реорганизацию, если средн. уровень фрагментации составляет от 10 до 30% и выполняется восстановление, если фрагментация> 30%. Цифры, которые я привел здесь, НЕ являются абсолютным отсечением, а представляют собой только лучшие практики.

сжать базу данных?

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

проверка целостности?

Это абсолютно необходимо для периодического запуска. Что означает периодически, т.е. не реже одного раза в неделю. Убедитесь, что вы отключили параметр page_verify для CHECKSUM, как показано ниже, если база данных была создана в версиях до SQL Server 2005.

ALTER DATABASE DBNAME SET PAGE_VERIFY CHECKSUM

Я не предпочитаю использовать планы обслуживания для этих задач, и лучше всего использовать сценарии SQL. Я использую сценарии Ола Халленгрен, они отлично работают и рекомендую всем. Вы можете получить эти сценарии из

http://ola.hallengren.com/

Эта статья в техническом журнале Основные советы по эффективному обслуживанию базы данных (и последующие меры подкаст от runas radio) отвечает на все это и многое другое

Вот краткое изложение статьи:

Как видите, для того, чтобы ваша база данных оставалась работоспособной и доступной, есть несколько задач, которые необходимо выполнить. Вот мой последний контрольный список для невольного захвата базы данных администратором баз данных:

• Устранение чрезмерной фрагментации файла журнала транзакций.

• Правильно установите автоматический рост.

• Отключите все запланированные операции сжатия.

• Включите мгновенную инициализацию файла.

• Установите регулярный процесс для обнаружения и устранения фрагментации индекса.

• Включите AUTO_CREATE_STATISTICS и AUTO_UPDATE_STATISTICS, а также обеспечьте регулярный процесс обновления статистики.

• Включите контрольные суммы страниц (или обнаружение наименее разорванных страниц в SQL Server 2000).

• Иметь регулярный процесс для запуска DBCC CHECKDB.

• Иметь регулярный процесс создания полных резервных копий базы данных, а также дифференциальных резервных копий и резервных копий журналов для восстановления на определенный момент времени.