Быстрое создание периферийных баз больших размеров.

Опубликовал Алексей Бочков (Aleksey.Bochkov) в раздел Администрирование - Распределенная БД (УРИБ, УРБД)

Ни для кого не секрет, что создание периферийных dbf-баз при большом количестве информации -  достаточно длительный процесс, т.к. 1С полностью пересчитывает все данные по регистрам. Но есть способ сделать это достаточно быстро. Нужно лишь немного обмануть 1С…
Если сравнить две базы – периферийную и центральную, то отличие будет только в файлах 1SDBSET.DBF (хранит для центральной базы список все баз, для периферийной – 2 записи, идентификаторы центральной и периферийной базы) и 1SSYSTEM.DBF (хранит идентификаторы текущей базы). Файл 1SUPDTS.DBF не учитываем. Таким образом, чтобы получить периферийную базу нам нужно просто создать копию центральной базы и модифицировать эти файлы. Но делать это руками, мягко говоря, не стоит.

Можно воспользоваться следующим порядком действий:

1. В центральной базе создать новую периферийную базу.
2. Выгрузить первоначальный образ периферийной базы.
3. Теперь необходимо из этого образа получить два файла, которые были указаны ранее. Проще всего это сделать так, в пустую папку загружаете первоначальный образ базы, но прерываете загрузку после появления в каталоге необходимых файлов. Как правило, 1С их создает первыми сразу после распаковки из архива первоначального образа.
4. Создаете копию центральной базы, удаляете из нее *.cdx и 1SUPDTS.DBF, а также заменяете файлы 1SDBSET.DBF и 1SSYSTEM.DBF полученными в п.3… и все. Осталось только провести переиндексацию.

Время необходимое для создания периферийной базы на примере 2-х годичной базы размером 4 Гб:
стандартным способом
1. Выгрузка данных 15 минут
2. Загрузка данных 14 часов.
этим методом
1. Выгрузка данных: 15 минут
2. Копирование базы, удаление файлов, замена файлов, переиндексация: 20 минут

Разница очень серьезная.

Но этот способ имеет главный недостаток: при загрузке данных стандартным способом 1С выполняет полную проверку данных, таким образом устраняя часть проблем имеющихся в базе. А для предложенного варианта необходимо будет выполнить тестирование и исправление (если установить все галки, то занимает около 10 часов).

Таким образом, использовать данный метод возможно для тех случаев, когда необходимо срочно создать периферийную базе взамен поврежденной существующей.

См. также

Комментарии
1. Mihenius (mihenius) 10.10.07 10:11 Сейчас в теме
2. ssp_ (ssp_) 128 10.10.07 12:19 Сейчас в теме
Небольшая поправочка: это если для всех объектов стоит миграция "Все информационные базы". ИМХО у тех, кто всерьез использует УРИБ, это часто не так.
3. Михаил Семенов (Shaman100M) 1176 26.01.08 19:18 Сейчас в теме
хороший метод, много времени сэкономил.
Оставьте свое сообщение