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

Как инструменты дефрагментации Windows могут вызвать внутреннюю фрагментацию в SQL Server?

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

А как насчет инструментов дефрагментации Windows?

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

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

Любой внешний инструмент фрагментации (неважно коммерческий или бесплатный) не реструктурирует внутреннее содержимое файла, в отличие от DBCC REINDEX.

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

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

  1. У вас не должно быть кучи
  2. В любом случае вам следует регулярно перестраивать индексы.

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

Не у всех есть свободная файловая группа.

[циничный]

Мне кажется, что использовать «Kronos Workforce» как волшебный способ делать то, что ваши администраторы баз данных должны делать в любом случае. У меня были те же проблемы с поставщиками, которые предлагали моему руководству какой-то модный (дорогой) продукт для выполнения стандартных задач администратора баз данных.

[/ циничный]

Изменить: похоже, я неправильно понял. Kronos не является инструментом DBA.

Однако FUD в статье может быть объясняется этими "хитростями"

  • Изменение максимальной степени параллелизма (MAXDOP) на 1
  • Установите коэффициент заполнения индекса по умолчанию на 75 процентов.
  • Отключить настройку автоматического обновления статистики