Вы
- Включение ARITHABORT, который завершает запрос при переполнении. По умолчанию это включено, поэтому, скорее всего, избыточно
- Включение QUOTED_IDENTIFIER, который указывает SQL Server следовать стандартам ISO в отношении кавычек. то есть позволяет вам использовать двойные кавычки для разделения идентификаторов и заставлять вас использовать одинарные кавычки для литеральных строк. Это должно быть включено, когда вы изменяете индексы для определенных типов столбцов, таких как вычисляемые столбцы, индексированные представления и т. Д. Включено по умолчанию.
- Создание курсора (цикла) для всех таблиц
- Цикл по каждой таблице и перестроение каждого индекса для каждой таблицы
Это не очень хорошая идея, потому что у вас нулевые пороги для начинающих. Это означает, что вы будете перестраивать каждый индекс независимо от того, фрагментирован он или нет, и независимо от количества страниц для этого индекса. Итак, если вы создали новый индекс для новой таблицы и выполнили эту команду, она перестроит его. Кроме того, это автономная операция. Таким образом, общая блокировка удерживается для некластеризованных индексов на протяжении всего периода перестроения, что предотвращает любые изменения в таблице ...
Я бы посмотрел на использование скриптов Олы . Они намного выше. Затем я прочитал о мифах и неправильных представлениях о фрагментации из Брента Озара и снова в этом посте .