наверх
Свободные IT публикации
логин:
пароль:

Быстрая реструктуризация базы данных [1138]


[8] AdminITD - 2019-11-06 18:52:51



V82, V83

Описание



Начиная с платформы версии 8.3.11.2867 1С оптимизировала типовой алгоритм реструктуризации, поэтому разработка наиболее актуальна для более ранних версий 8.3 и 8.2.
О реструктуризации опубликовано достаточно много информации, но все же кратко опишу, что это и в чем проблема. Реструктуризация в рамках 1С - это изменение структуры и состава таблиц базы данных и перенос имеющихся данных в изменённые таблицы. Обычно реструктуризация выполняется в тот момент, когда вы нажимаете "Обновить конфигурацию базы данных" в Конфигураторе. Основная проблема заключается в том, что при типовой реструктуризации (в платформах до версии 8.3.11.2867) создается пустая таблица новой структуры, в которую копируются данные из исходной таблицы. В случае большого размера исходной таблицы реструктуризация может затянуться на несколько часов, а иногда и дней. При этом БД остается недоступной и повышается риск порчи БД вследствие возможных системных сбоев.
Одно из решений - подмена проблемной таблицы пустой копией, обновление базы и приведение структуры исходной таблицы в соответствие с новой структурой таблицы подмены вручную. Но этот способ связан с необходимостью выполнения ряда рутинных и достаточно нудных, на мой взгляд, действий:
  • анализ объектов реструктуризации в 1С;
  • получение внутренних имен подменяемых таблиц в 1С;
  • генерация скриптов сознания копий подменяемых таблиц в ms management studio;
  • создание копий и подмена исходных таблиц в ms management studio;
  • обновление базы в 1С;
  • анализ новой структуры таблиц подмены в ms management studio;
  • подготовка скриптов корректировки структуры исходных таблиц, либо корректировка исходных таблиц в форме мастера в ms management studio;
  • подмена пустых копий исходными таблицами в ms management studio;
  • удаление пустых копий ms management studio;

Представленная обработка полностью автоматизирует действия до и после обновления базы в 1С.

Ограничения: доступна быстрая реструктуризация только таблиц журналов, документов, справочников и регистров сведений. Обработка не предназначена для ускорения реструктуризации при расширении ссылочного типа до составного ссылочного. Обработка только для клиент-серверных баз 1С, для использования необходим доступ к серверу SQL с правом создания и изменения объектов.

Порядок проведения быстрой реструктуризации с помощью обработки "БыстроеОбновлениеБД.epf":
1. Заблокируйте доступ к обновляемой БД.
2. Выполните монопольный вход в программу и запустите обработку "БыстроеОбновлениеБД.epf".
3. Убедитесь в наличии актуальной копии БД с помощью команды "Получить дату последней резервной копии".
4. Выберите в списке объекты, которые необходимо обновить с подменой таблиц.
5. Выполните команду "Подготовить базу к реструктуризации".
6. Закройте монопольную сессию;
7. Выполните обновление БД в конфигураторе.
8. Выполните монопольный вход в программу и запустите обработку "БыстроеОбновлениеБД.epf".
9. Выполните команду "Завершить реструктуризацию".
10. Разблокируйте доступ к обновляемой БД - база готова к работе.

Результаты выполнения всех команд отображаются в поле "Журнал выполнения".
Дополнительные команды обработки:
"Анализ выбранных/подмененных таблиц"  - выводит в поле журнала информацию о размере выбранных объектов:


"Показать скрипт подмены таблиц"  - выводит в поле журнала текст скрипта SQL для подмены рабочих таблиц пустыми копиями:

"Отмена: откат к исходному состоянию"  - команда возвращает базу в состояние до подмены таблиц, пустые копии удаляются;
"Анализ изменения структуры таблиц после обновления базы"  - выводит в поле журнала информацию о изменениях внутренней структуры выбранных объектов после обновления конфигурации БД:

"Показать скрипт завершения реструктуризации"  - выводит в поле журнала текст скрипта SQL для корректировки структуры исходных таблиц и обратной подмены:

В завершение, обращаю внимание, что данный метод осуществляет изменение структуры данных не типовыми средствами. Используйте его в крайнем случае, когда очень нужно, а по-другому никак. Рекомендую предварительный проверочный запуск реструктуризации с использованием представленной обработки в тестовой базе. И обязательно убедитесь в наличии актуальной резервной копии обновляемой БД.
Всем удачи!

● Файлы для скачивания:

для получения доступа требуется авторизация размер: 18.1 кб, скачиваний: 28. cодержимое архива: БыстроеОбновлениеБД82.epf - 24,2 кб.

для получения доступа требуется авторизация размер: 19.3 кб, скачиваний: 30. cодержимое архива: БыстроеОбновлениеБД_83.epf - 25,3 кб.

● Комментарии:

Для добавления комментария необходима авторизация.

Нет комментариев