Как эффективно использовать совместно shrinkdatabase, shrinkfile и rebuildindex?

Как эффективно использовать совместно shrinkdatabase, shrinkfile и rebuildindex ?

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

Как решение на переодической основе делаю шринк shrinkfile и shrinkdatabase, но при этих операциях ухудшается показатель фрагментации индексов. И если индексы сильно дефрагментированы, то шринк может оставить 40% свободного места в файле, что очень много в абсолютных величинах.

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


Ответы (1 шт):

Автор решения: Рустам Алиев

Для БД, в которых регулярно происходят crud-процессы с той же периодичностью можно делать rebuild index и обновлять статистику с той же регулярностью, но в моменты минимальной нагрузки на сервер. Т.е. если данные в бд "льются" постоянно, то ребилд лучше делать ночью один раз в сутки после окончания crud-процессов. Шринковать файлы и бд раз в неделю/месяц, но только если есть необходимость.

UPD: Возможно я некорректно выразился (плохой из меня "объяснитель"). Ещё раз

  1. При ребилде индекса - старый индекс удаляется - после завершения операции место не вырастет. Ребилд- очень "тяжёлая" операция. Ребилд лучше делать в моменты минимальной нагрузки.

  2. Адекватная замена ребилду - реорганизация индекса. Реорганизацию можно запускать днём и перезапускать её (если она была по каким-то причинам отменена) вплоть до достижения оптимальной фрагментации.

Больше информации по оптимальному ребилду/реорганизации индексов, а так же способам оценки фрагментации индекса можно посмотреть на сайте ms. Там, в принципе, все по полочкам и с примерами :-)

В этот раз я правильно Вас понял?

→ Ссылка