RE-BUILDING HEAP вызывает простои?

8

Это немного смущающий вопрос, и я не могу поверить, что пропустил это так много лет.

У меня есть сторонняя база данных поставщика, которая имеет 401 таблицу кучи. Недавно я начал использовать сценарии и настройку Брента Озара sp_BlitzFirstдля запуска каждые 15 минут для сбора статистики ожидания и т. Д.

То, что он обнаружил, было каждый раз, когда он сталкивался с 24-часовым периодом, он говорил мне, чтобы исправить Переданные Отчеты . Что, вероятно, шокирует некоторых читателей тем, что я выполнил запрос в DMV и получил несколько таблиц с более чем 150 000 перенаправленных значений записей.

Я понимаю, что исправить это - кластеризовать индекс по всей таблице или использовать для временного обхода ALTER TABLE [tablename] REBUILD.

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

Я использую Enterprise Edition 2008 R2, и мне интересно, уберет ли его запуск таким образом необходимость отключения?

ALTER TABLE [tablename] REBUILD WITH (ONLINE = ON);  

У кого-нибудь есть опыт с этим?

Филипп
источник

Ответы:

9

Хорошие новости: 150 000 пересылаемых записей на самом деле не так уж и плохо, в зависимости от того, о каком промежутке времени мы говорим. Переадресованные записи отслеживаются до тех пор, пока сервер работает (с некоторыми ошибками в конкретной сборке 2012/2014 ).

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

Вот как я справлюсь с этим:

  • Перечислите таблицы с предупреждениями о переадресованных записях от наименьшего к наибольшему размеру таблицы (не количество переадресованных записей)
  • Восстановите эти таблицы по порядку, вручную, по несколько раз. Не автоматизируйте это - вы хотите почувствовать, как ваша система реагирует на восстановление небольших таблиц. Вы узнаете довольно быстро, если ваш сервер может идти в ногу.
  • Следите за использованием журнала транзакций. Если ваш файл журнала 10 ГБ, и вы пытаетесь восстановить кучу 50 ГБ, вы можете столкнуться с проблемами. Вы можете смягчить эти проблемы, заблаговременно увеличивая количество выходов из системы во время периодов обслуживания и делая частые резервные копии журналов, пока вы это делаете - но я буду честен, при пересылке 150 тыс. Записей за промежуток нескольких дней, я бы не стал Не проходи через эту большую работу.
  • В дальнейшем работайте с поставщиком, чтобы поместить кластерный ключ в эти таблицы. Да, бывают случаи, когда кучи подходят, но если вы столкнулись с проблемой переадресованной записи, вы, вероятно, не находитесь в такой дружественной к куче ситуации.
Брент Озар
источник