Имя: Пароль:
IT
Админ
MS SQL Долго выполняется реорганизация индекса. Куда смотреть?
0 arsik
 
гуру
06.07.26
09:30
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 часов.
1 Lama12
 
06.07.26
09:08
скриншота нет
2 arsik
 
гуру
06.07.26
09:33
(1) Сорян. Добавил.
+(0) Базы небольшие
- 3 бухгалтерии общим объемом (37 Гб - .mdf)
- 3 камина (15 Гб - .mdf)
- 1 альфа авто 6 (9 Гб - .mdf)
3 arsik
 
гуру
06.07.26
09:40
Если я правильно понял, скуль долго подготавливает tsql скрипт для реорганизации.
Т.к. пробовал посмотреть T-SQL в реорганизации - не дождался. Именно это время я думаю занимает 7 часов.
4 arsik
 
гуру
06.07.26
09:42
Ну и еще нюанс. Служба агента и служба скуля запускаються от учетной записи MSA пользователя домена на этом сервере. Может тут проблема?
5 Lama12
 
06.07.26
09:48
(4) Это вряд ли.
6 Fedor-1971
 
06.07.26
10:05
(3) Чисто предположение: может долго определяется % фрагментации? типа нужно обновить статистику БД, а потом отправлять в реиндекс?

Можно попробовать тупо Reindex всей БД. На сколько знаю, есть скрипт, тупой переиндексации самых больших таблиц БД с какой-то периодичностью, но это тема для конфигураций уровня ЕРП
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший