У нас есть центральная база с кодом 000, периферийная база с кодом 001. Требуется быстро создать новую периферийную базу.
Как из периферийной базы сделать центральную?
Вы также сможете это сделать после прочтения статьи, действуя по аналогии. Дополнительно понадобится список всех баз с их уникальными идентификаторами для заполнения таблицы _1SDBSET.
Структура таблицы _1SDBSET и признаки баз описаны в статье.
Итак, заходим в SQL Server Management Studio и видим содержимое двух служебных таблиц: _1SSYSTEM и _1SDBSET. В дальнейшем все действия будем производить только с ними.
Далее открываем Конфигуратор, заходим в Меню - Администрирование - Распределенная ИБ - Управление и создаем новую периферийную базу. На этом действия в 1С заканчиваются. Выгрузка и загрузка больших баз штатными методами часто нереальна.
Вот такую картину можно наблюдать в служебных таблицах 1С.
База имеет статус новой, поскольку выгрузка данных не производилась. Исправим это, выполнив запрос
UPDATE _1SDBSET SET DBSTATUS = 'C' WHERE DBSIGN = '002'
В результате таблицы примут вид:
А если открыть заново управление распределенными базами, то можно заметить, что база стала рабочей:
Теперь средствами SQL Server делаем бэкап базы и восстанавливаем его в новую базу (либо отсоединяем-копируем-присоединяем файлы базы данных SQL Server), т. е. создаем новую центральную базу. А текущую базу будем превращать в периферийную с кодом 002.
Выполняем запрос для изменения таблицы _1SSYSTEM.
UPDATE _1SSYSTEM SET DBSIGN = '002'
Изменяем статус центральной базы.
UPDATE _1SDBSET SET DBSTATUS = 'P' WHERE DBSIGN = '000'
Изменяем статус текущей периферийной базы.
UPDATE _1SDBSET SET DBSTATUS = 'M' WHERE DBSIGN = '002'
Удаляем данные о лишних базах.
DELETE FROM _1SDBSET WHERE DBSTATUS = 'C'
В случае превращения периферийной базы в центральную нам придется наоборот добавлять сведения по недостающим базам и иначе менять признаки баз.
На этом работа закончена. Можно обмениваться данными.
Если есть объекты, которые мигрируют по правилам "Место создания - Центр", то в текущей базе окажутся данные, созданные в других периферийных базах. Если это критично - можно скриптами удалить такие объекты.
Другие статьи по УРБД:
Структура таблиц УРБД (УРИБ) 1С 7.7
Как использовать УРБД в отличающихся конфигурациях
Инструкция по созданию УРБД (УРИБ) 1С 7.7 и обмену в РБД