|
04.10.2017, 15:04 | #1 |
Administrator
|
Цитата:
Ну т.е. запустили и оно себе работает. Понятное дело - ДБА должны выбрать момент запуска скрипта, но это уже второй вопрос - формально простоя не будет. А АХ уже при обновлении подумает, что этот индекс уже создан. Глобальная идея состоит в том, чтобы все длительные процедуры, которые выполняются при синхронизации вынести на момент до начала обновления. Максимальный вариант - это "закат солнца вручную", т.е. выполнение всех процедур, которая делает синхронизация - заранее, до начала обновления. Но обычно хватает "золотой середины", а именно построение долгостроящихся индексов, которые как правило всем известны и для каждой компании можно составить свой список наиболее объемных таблиц
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 04.10.2017 в 15:08. |
|
04.10.2017, 18:04 | #2 |
Участник
|
Цитата:
Сообщение от sukhanchik
А сделать это не на выделенном AOS, а в БД, с опцией ONLINE у команды CREATE INDEX? (я говорю конечно же про SQL Server)
Ну т.е. запустили и оно себе работает. Понятное дело - ДБА должны выбрать момент запуска скрипта, но это уже второй вопрос - формально простоя не будет. А АХ уже при обновлении подумает, что этот индекс уже создан. Цитата:
ONLINE = ON
В начале операции совмещаемая блокировка (S) удерживается на исходном объекте в течение очень короткого времени. В конце операции на источнике на короткое время удерживается совмещаемая блокировка (S), если создается некластеризованный индекс |
|
|
За это сообщение автора поблагодарили: Alexius (3), Logger (1). |
05.10.2017, 10:22 | #3 |
Участник
|
Цитата:
Цитата:
...
Но разработчики пошли дальше и добавили ещё несколько полезных параметров для ONLINE операций, а именно параметр low_priority_lock_wait, который позволяет задать интервал ожидания, в случаи блокировки ресурса над которым мы выполняем операцию: MAX_DURATION = time [MINUTES] и какое решение необходимо принять по истечению этого интервала: ABOUT_AFTER_WAIT = [NONE | SELF | BLOCKERS] NONE - никаких действий (равносильно текущему поведению в SQL Server 2012) SELF - мы прерываем нашу операцию BLOCKERS - мы прерываем работу всех процессов, которые нам "мешают" ... PS. Решение не идеальное, но все же ... |
|
|
За это сообщение автора поблагодарили: trud (3), sukhanchik (5), gl00mie (3), Logger (3), Vadik (1). |