Реорганизация индексов базы данных MS SQL на платформе 8.3.22
Приветствую! При обслуживании баз на 22 платформе вот такая штука:
Важно! Начиная с версии платформы 8.3.22 необходимо выполнять дефрагментацию индексов по следующему алгоритму:
До дефрагментации индекса необходимо включить страничные блокировки. Пример команды: ALT ER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON);
Выполнить дефрагментацию.
Обратно выключить страничные блокировки. Пример команды: ALT ER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = OFF, ALLOW_ROW_LOCKS = ON);
В соседней ветке предлагается вот такой способ решения:
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON) до реорганизация
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF) после реорганизации.
На сколько вообще корректно использовать:
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON)
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF)
Если посмотреть индексы до этих манипуляций, то есть индексы у которых изначально ALLOW_PAGE_LOCKS = ON и этими действиями по итогу изменяем их на ALLOW_PAGE_LOCKS = OFF. например:
Важно! Начиная с версии платформы 8.3.22 необходимо выполнять дефрагментацию индексов по следующему алгоритму:
До дефрагментации индекса необходимо включить страничные блокировки. Пример команды: ALT ER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON);
Выполнить дефрагментацию.
Обратно выключить страничные блокировки. Пример команды: ALT ER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = OFF, ALLOW_ROW_LOCKS = ON);
В соседней ветке предлагается вот такой способ решения:
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON) до реорганизация
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF) после реорганизации.
На сколько вообще корректно использовать:
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON)
ALT ER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF)
Если посмотреть индексы до этих манипуляций, то есть индексы у которых изначально ALLOW_PAGE_LOCKS = ON и этими действиями по итогу изменяем их на ALLOW_PAGE_LOCKS = OFF. например:
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(4) Теоретически потребление памяти несколько возрастёт, т.к. нужно хранить информацию о большем количестве блокировок. Но по нынешним временам, когда в рабочих станциях порой больше памяти напихано, чем раньше в серверах стояло, это скорее всего не критично уже
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Теоретически потребление памяти несколько возрастёт, т.к. нужно хранить информацию о большем количестве блокировок. Но по нынешним временам, когда в рабочих станциях порой больше памяти напихано, чем раньше в серверах стояло, это скорее всего не критично уже
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот