powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
4 сообщений из 4, страница 1 из 1
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
    #39755484
senn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть хранимка, которая запускается в джобе. В ней выполняется проверка фрагментированности индексов и при необходимости запускается INDEX REORGANIZE / REBUILD. Результаты пишутся в лог-таблицу.

Проблема:
запись результатов переиндексации в лог-таблицу происходит раньше, чем перестройка некоторых индексов. Cкрипт "ALTER INDEX..." формируется динамически, и запускается с помощью exec (). А следующая за ним команда, как я предполагаю, не ждет его окончания. Вследствие этого цифры (avg_fragmentation_in_percent) у этих индексов до и после дефрагментации не отличаются.

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

Спасибо большое!
...
Рейтинг: 0 / 0
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
    #39755580
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sennCкрипт "ALTER INDEX..." формируется динамически, и запускается с помощью exec (). А следующая за ним команда, как я предполагаю, не ждет его окончания
ждет
...
Рейтинг: 0 / 0
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
    #39755661
Dzianis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sennзапись результатов переиндексации в лог-таблицу происходит раньше, чем перестройка некоторых индексов.

простите это как?
Команда перестройки еще не завершилась, но уже в таблицу лог вписан результат ее выполнения?
Или у вас просто джоб по расписанию запускается раз в 30 минут, считывает информацию о фрагментации, игнорируя, что предыдущий старт все еще работает?



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

програмно можно вытащить выполняемые запросы 'Alter index' и проанализировать их. Но смысла не видно. если у вас работает один скрипт, то он ждет. Ошибка или в коде или в попытке сделать многопоточное выполнение.
...
Рейтинг: 0 / 0
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
    #39755666
senn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

перепроверил. Да, действительно, мой косяк.

Проблема была в колоночном индексе, который не перестраивался, что было вполне естественно, т.к. ипользовался другой метод и оценка дефрагментации.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как определить момент окончания выполениния INDEX REORGANIZE / REBUILD?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]