Клонирование одной информационной базы в другую на сервере 1С/SQL для управляемых форм

23.05.22

База данных - Инструменты администратора БД

Иногда нужно быстро скопировать рабочую базу данных в другую (существующую) на сервере 1С / SQL - для отладки, тестирования или других извращений. При этом в рабочей базе нельзя выгонять пользователей, и нужно сделать это прозрачно для всех. Эта обработка вам поможет.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Клонирование одной информационной базы в другую на сервере SQL для управляемых форм:
.epf 11,34Kb
12
12
1 SM
Скачать Купить за 1 850 руб.

Обработка предназначена для клонирования базы MS SQL из 1С:Предприятия. Т.е. средствами MS SQL производится создание резервной копии базы - источника, а затем восстановление ее из резервной копии в базу - приемник. Она может применяться в тех случаях, когда нужно срочно получить копию базы, в которой работают пользователи. Обработку можно запускать в любой конфигурации (даже в пустой) на платформе 1С:Предприятие 8.3.

Обработка под управляемые формы.

Тестировалось на платформе 8.3.20.1789 (запускал под Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.111.16), но и на других будет работать. К специфичным функциям определенных конфигураций не привязано, можно запускать из пустой базы.)

 

Порядок работы:

  1. В консоли Сервера 1с включить блокировку начала сеансов и удалить соединения у базы Приемника. (Иначе будет ошибка при восстановлении)

  2. Заполнить настройки Кластера 1с или настройки подключения напрямую к MS SQL на вкладке Настройки.

  3. На закладке "Основная" выбрать базу - источник. Т.е. ту базу, откуда мы хотим сделать копию. Список баз заполнится автоматически.

  4. На закладке "Основная" выбрать базу - приемник. Т.е. ту базу, куда мы хотим сделать копию.

  5. Нажать кнопку "Клонировать".

  6. В консоли Сервера 1с вЫключить блокировку начала сеансов для базу приемника.


Преимущества:

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


2. Позволяет сделать копию базы быстрее, чем через выгрузку/загрузку файла dt.

 

Ограничения:

  1. Требуется MS SQL 2005 или выше.

  2. Обработку можно запускать в любой базе (даже в текущей), кроме базы - приемника.

За основу взята обработка //infostart.ru/public/149694/?detail=Y&ID=149694

Только та под обычные формы, я переделал на управляемые.

Код открыт, переделывайте под себя как хотите.

В планах хотел еще менять заголовок конфигурации и добавлять префикс (Например ТЕСТ ---). Но у разных конфигураций Константа.ЗаголовокСистемы хранится в разных таблицах, а как из SQL вытянуть Метаданные.Имя пока не выяснил. Подключаться после клонирования через ADO и менять заголовок тоже не очень, т.к. логин и пароль может быть для разных баз разный и это не универсальное решение.

За подсказки буду благодарен.

Обработка клонирование баз

См. также

Инструменты администратора БД Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Представляю вашему вниманию утилиту, предназначенную для работы с файлами программных лицензий 1С (*.lic).

1 стартмани

10.02.2019    85604    897    GeraltSnow    87    

150
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 785 23.05.22 22:30 Сейчас в теме
>>> "как из SQL вытянуть Метаданные.Имя пока не выяснил"
В params берёте соответствия имён, а в config - конфу.
bankir1982; +1 Ответить
2. t278 57 24.05.22 02:30 Сейчас в теме
1) что на вкладке "Настройки" ?
2) Первый абзац 2 раза повторяется.

Я правильно понимаю, пользователь может сам делать копию в свою тестовую бд ?
3. bankir1982 13 24.05.22 09:41 Сейчас в теме
(2)1. добавил скриншот настроек
2. поправил, спс

Если пользователь обладает доступом на сервер 1с либо к серверу mssql, то да - может сам делать.
Но обычно такие права не дают пользователям.
Оставьте свое сообщение