MS SQL 2022
В плане обслуживания несколько задач
1) Включить страничные блокировки (EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON)' )
2) Реорганизация индекса (см. скриншот)
3) Выключить страничные блокировки (EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF)' )
4) Обновление статистики
5) очистка кеша (dbcc freeproccache)
6) Сброс статистики ожидания (DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR))
Судя по журналу - Продолжительность самой реорганизации - 11 минут, но делается это 7 часов.
Если я правильно понял, скуль долго подготавливает tsql скрипт для реорганизации.
Т.к. пробовал посмотреть T-SQL в реорганизации - не дождался. Именно это время я думаю занимает 7 часов.
(3) Чисто предположение: может долго определяется % фрагментации? типа нужно обновить статистику БД, а потом отправлять в реиндекс?
Можно попробовать тупо Reindex всей БД. На сколько знаю, есть скрипт, тупой переиндексации самых больших таблиц БД с какой-то периодичностью, но это тема для конфигураций уровня ЕРП
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший