У нас есть центральная база с кодом 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 и обмену в РБД

Как из распределенной базы сделать обычную

Как из обычной базы сделать распределенную (SQL)?