Нет, вы не можете проверить, почему он работает медленно, но я могу дать вам несколько советов:
1) В SQL 2005 управление некластеризованными индексами изменилось с Storage Engine (моя команда) на Query Processor. Это имеет много побочных эффектов, одним из которых является скорость, с которой страницы данных кучи могут перемещаться путем сжатия. Все записи некластеризованного индекса содержат обратную ссылку на запись данных, которую они индексируют - в случае кучи это физическая ссылка на номер записи на конкретной странице данных. Когда страница данных кучи перемещается с помощью сжатия, все записи некластеризованного индекса, которые имеют обратную ссылку на записи на этой странице, должны обновляться в соответствии с новым местоположением страницы. В 2000 году это было сделано очень эффективно самим механизмом хранения. В 2005 году это необходимо сделать, вызвав обработчик запросов для обновления записей некластеризованного индекса. Это иногда до 100 раз медленнее, чем в 2000 году.
2) Значения внеблоковых больших объектов (либо фактические типы данных больших объектов, либо данные переполнения строк) не содержат обратной ссылки на данные или индексную запись, частью которой они являются. При перемещении страницы записей больших объектов вся таблица или индекс, частью которых они являются, должны быть отсканированы, чтобы выяснить, какие записи данных / индекса указывают на них, чтобы их можно было обновлять с новым местоположением. Это тоже очень, очень медленно.
3) Может быть другой процесс, использующий базу данных, который заставляет сжатие блокировать ожидание блокировок, необходимых для перемещения страниц.
4) Возможно, вы включили изоляцию моментальных снимков, и shrink не может перемещать страницы со ссылками на хранилище версий, пока не завершены транзакции, требующие этих более старых версий.
5) Ваша подсистема ввода / вывода может быть недостаточно мощной. Длина очереди диска выше, чем младшие однозначные цифры, означает, что ваша узкая подсистема ввода / вывода.
Любые или все из них могут способствовать медленному времени усадки.
В общем, вы не хотите сокращаться. Смотрите этот пост в блоге для деталей: почему вы не должны сжимать ваши файлы данных .
Надеюсь это поможет!