Первым делом, необходимо обращение, в котором мы будем согласовывать с клиентом нюансы. Например:
При планировании надо проверить:
1. Сделать копию БД. Делается для того, чтоб при возникновении какого-то сбоя или если клиент неожиданно передумает, у нас была БД от куба мы могли бы восстановить данные или полностью заменить этой базой
2. Проверить наличие в БД процедуры SP_DEL_OLD_PHOTOS_DT. Для этого открываем IBExpert, в в поиск копируем название этой процедуры и убеждаемся в ее наличие. Данная процедура необходима для удаления старых фотографий за указанный период
3. Убедиться что код в процедуре соответствует скрипту, см. ниже. У клиента может находится старая версия этой процедуры, а выполнять нужно только в актуальном состоянии
Если код не соответствует, в IBExpert нажимаем Ctrl+F12, копируем текст из скрипта в поле и нажимаем F9.
4. Отключить триггер DOC_ORDER_SERV_PHOTOS_AD (если триггера нет, пропускаем этот пункт). Для этого убираем галочку с «IsActive», потом жмем «Compile». Триггет мы отключаем для того, чтоб удаленные данные не попали в лог репликации и это удаление не уходило по репликации (если не пунктах нужно будет уменьшить место, то нужно будет делать новую БД на основе центральной)
5. Отключить остальные триггеры на удаление по таблице DOC_ORDER_SERV_PHOTOS (как отключить см. п.4)
6. Убедиться в наличие индекса DOR_IDX_DT_OUT_FACT в таблице DOCS_ORDER. Без этого индекса скрипт по удалению фото может очень долго работать.
Если индекса нет, провести скрипт:
7. В IBExpert нажимаем Ctrl+F12, вставить скрипт. За место параметров :DATE_FIRST, :DATE_LAST период за который нужно удалить фото и выполнить его нажав F9.
Время удаления зависит от размера БД, периода удаления фото и мощности ПК.
8. Включить триггер DOC_ORDER_SERV_PHOTOS_AD (если триггера нет, пропускаем этот пункт). Для этого ставим галочку с «IsActive», потом жмем «Compile». Возвращаем триггер к прежнему состоянию, чтоб он все действия фиксировал в логе репликации
9. Включить остальные триггеры на удаление (которые были выключены в п.4)
10. Сделать backup/restore. Без этой операции размер БД не уменьшится, только после restore мы увидим каким размером БД стала после удаления старых фото.