Как заменить рабочую базу 1С её копией и ничего не сломать
Содержание
Копия становится основной в три действия: сделать копию, добавить её в список баз под нужным именем и убрать прежнюю базу из работы. Всё остальное, от отключённых регламентных заданий до адреса публикации, нужно, чтобы копия не начала жить своей жизнью: отправлять письма, обмениваться данными с соседними базами и дублировать документы.
Порядок действий зависит от того, где лежат данные. Файловая база — это папка с файлом 1Cv8.1CD, и копируется она как папка. Клиент-серверная база
хранится в СУБД (Microsoft SQL Server или PostgreSQL), и копируют её средствами сервера или выгрузкой в .dt.
Файловая или серверная: какой путь ваш
Определить тип можно в окне запуска 1С. Выделите базу, нажмите «Изменить» и посмотрите на строку соединения. Если там указан каталог (File="D:\Bases\Buh";), база файловая. Если указаны сервер и имя базы (Srvr="srv-1c";Ref="buh";), база серверная.
.dt через Конфигуратор и загрузите в новую пустую базу..dt из Конфигуратора и загрузите его в новую базу на нужном сервере.Если сомневаетесь, .dt подходит всегда. Он медленнее, зато не зависит ни от типа базы, ни от СУБД.
Что сделать до копирования
Подготовка занимает десять минут и убирает половину проблем.
- Дождитесь, пока все выйдут из базы, и заблокируйте новые подключения. В серверной базе это делается в консоли кластера, в свойствах информационной базы (флажок блокировки начала сеансов). В файловой достаточно попросить пользователей закрыть программу и убедиться, что рядом с файлом базы нет служебного файла блокировки.
- Запишите, как база подключена сейчас: имя в списке, строку соединения, имя базы на сервере. Пригодится для отката.
- Проверьте свободное место. Файловая база при копировании занимает столько же, сколько исходная. Для
.dtобычно хватает меньшего объёма, но надёжнее держать запас, равный размеру базы. - Узнайте, настроены ли в базе обмены, интеграции, почта и ЭДО. От этого зависит раздел о первом запуске.
Не копируйте файл 1Cv8.1CD из базы, в которой в этот момент работают люди. Копия получится «на лету» и может не открыться или открыться с повреждениями.
Копия файловой базы: папка или .dt
Способ 1. Копирование каталога
- Закройте все сеансы, включая Конфигуратор.
- Откройте каталог базы (путь виден в строке соединения).
- Скопируйте весь каталог целиком, а не один файл
1Cv8.1CD. Рядом с ним могут лежать служебные файлы и каталоги, например журнал регистрации. - Вставьте копию в новое место, например
D:\Bases\Buh_new.
Журнал регистрации лежит в подкаталоге 1Cv8Log. Он занимает место, но история действий пользователей остаётся в копии, и это иногда нужно.
Способ 2. Выгрузка и загрузка .dt
- Запустите Конфигуратор для исходной базы.
- Выберите
Администрирование → Выгрузить информационную базуи укажите имя файла. - Добавьте в список баз новую пустую базу: «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
- Откройте новую базу в Конфигураторе и выберите
Администрирование → Загрузить информационную базу.
Файл .dt сохраняет данные и конфигурацию, но не сохраняет настройки подключения, публикацию на веб-сервере и параметры кластера. Их придётся задать заново.
| Способ | Когда подходит | Риски |
|---|---|---|
| Копия каталога | Файловая база, нужен точный дубль на том же или соседнем компьютере | Нельзя копировать при работающих пользователях |
Выгрузка .dt | Перенос между версиями платформы, между файловым и серверным режимом | Дольше по времени, настройки публикации не переносятся |
| Бэкап СУБД | Серверная база большого размера | Нужен доступ к SQL-серверу и права на восстановление |
Копия серверной базы через СУБД и консоль кластера
Для серверной базы выгрузка .dt на больших объёмах идёт долго. Резервная копия средствами СУБД обычно быстрее.
Microsoft SQL Server
- Сделайте полную резервную копию рабочей базы в Management Studio или командой
BACKUP DATABASE. - Восстановите копию под новым именем: в диалоге восстановления укажите в качестве целевой базы новое имя и не затирайте существующую.
- При восстановлении проверьте пути к файлам данных и журнала. Если они совпадают с файлами рабочей базы, восстановление заменит их. Укажите другие пути (параметры
MOVEили соответствующие поля в окне восстановления).
PostgreSQL
Снимите дамп утилитой pg_dump и восстановите его в новую базу с другим именем через pg_restore либо создайте базу и загрузите дамп в неё. Для 1С используйте сборку PostgreSQL, рекомендованную для платформы, иначе возможны проблемы совместимости.
Подключение копии в кластере
- Откройте консоль администрирования серверов 1С:Предприятия и найдите нужный кластер.
- Выберите
Информационные базы → Создать → Информационная база. - Задайте новое имя в кластере. Оно не должно совпадать с именем рабочей базы.
- В поле «Имя базы данных» укажите имя восстановленной СУБД. Флажок создания базы при отсутствии оставьте выключенным: база уже есть.
- Укажите тип СУБД, сервер баз данных и пользователя с доступом к базе.
Две информационные базы в кластере не должны смотреть в одну и ту же базу данных. Это разрушает данные в обеих. Перед сохранением перепроверьте поле «Имя базы данных».
В свойствах новой информационной базы сразу включите запрет регламентных заданий. Снять его можно после проверки, когда будет понятно, что копия готова работать.
Как подключить копию и сделать её рабочей
Копия не становится основной сама. Базой по умолчанию остаётся та, на которую ссылаются ярлыки, список баз пользователей и публикация.
Лучше действовать поэтапно.
- Проверьте копию отдельно под тестовым именем. Откройте, войдите, посмотрите ключевые документы и отчёты.
- Переименуйте старую базу в списке запуска, добавив суффикс вроде
_стараяили_до_замены. Саму базу не удаляйте. - Назовите копию тем именем, под которым пользователи привыкли открывать базу.
- Если у пользователей на компьютерах настроен общий список баз (через файл списка баз на сетевом ресурсе), поправьте запись там. Иначе у людей останется ссылка на старую.
- Обновите ярлыки и значки на рабочем столе, если в них зашит путь.
Когда всё подтверждено, старую базу отключите от работы. На файловом сервере переместите её в архив, на сервере 1С отключите сеансы и заблокируйте её, но не удаляйте до конца следующего отчётного периода.
Первый запуск копии: вопрос «скопирована или перемещена» и идентификатор базы
Если в базе подключена стандартная библиотека подсистем (она есть во всех типовых конфигурациях), при первом запуске по новому адресу программа может спросить, что произошло с базой. Диалог содержит два варианта: «Я скопировал» и «Я переместил».
Разница существенна.
- ✅ «Я переместил» выбирайте, когда копия окончательно заменяет старую базу, а старая выводится из работы. Настройки обменов, регламентные задания и подключённые сервисы остаются как были.
- ⚠️ «Я скопировал» выбирайте, когда копия живёт параллельно с рабочей. Программа отключает регламентные задания и подчищает настройки обменов, чтобы копия не слала данные от имени основной базы.
Если вы собираетесь сделать копию основной, а старую убрать, подходит первый вариант. Если сомневаетесь, лучше выбрать «скопировал» и затем вручную включить нужное: так не будет ложных отправок.
Что такое идентификатор и когда он важен
У каждой информационной базы есть внутренний идентификатор. Он используется, чтобы отличать базы друг от друга в обменах (распределённая база, обмен с «Зарплатой и управлением персоналом», обмен с Розницей). Две базы с одинаковым идентификатором, работающие параллельно, могут путать друг другу данные.
Поэтому для копии, которая живёт вместе с оригиналом, идентификатор и префикс базы лучше сделать отдельными. Префикс информационной базы задаётся в разделе Администрирование → Синхронизация данных в типовых конфигурациях. Для тестовой копии выбирайте префикс, не совпадающий ни с одной из подключённых баз.
Если копия заменяет оригинал и оригинал выводится из работы, идентификатор менять не требуется: база-преемник просто продолжает вести обмены.
Что отключить в копии, которая живёт параллельно
- Обмены с другими базами и ЭДО.
- Электронную почту, с которой программа рассылает письма.
- Регламентные задания, отправляющие отчётность и уведомления.
- Интеграции с банком и сервисами по API.
Если копия нужна для тестов, проще не подключать её к внешним сервисам вовсе, чем потом разбираться с лишними письмами контрагентам.
Публикация, ярлыки и внешние сервисы после подмены
Подмена базы редко ограничивается самой базой. Вокруг неё живут настройки, которые на копию не переносятся.
Веб-сервер и публикация
Если пользователи заходят через браузер или тонкий клиент по HTTP, публикацию нужно сделать заново. В Конфигураторе откройте нужную базу и выберите Администрирование → Публикация на веб-сервере. Укажите то же имя публикации, что было у рабочей базы, чтобы адреса не поменялись. Если имя публикации совпало, но каталог другой, старый вариант придётся удалить или заменить.
Лицензии и сервисы
- Интернет-поддержка пользователей может потребовать повторного входа: логин и пароль хранятся в базе, но сервисы проверяют их на стороне 1С.
- Сертификаты электронной подписи хранятся в хранилище пользователя, а не в базе, поэтому на других компьютерах их надо переустановить. Список сертификатов в программе при этом переносится вместе с данными.
- Отчётность, подключённая через специализированного оператора, привязана к учётной записи в программе. Если копия заменяет рабочую базу, убедитесь, что вход в сервис выполнен из новой базы.
Резервное копирование
Не забудьте добавить новую базу в расписание бэкапов. Это самая частая причина, по которой через месяц обнаруживается, что новая рабочая база не копировалась ни разу, потому что бэкап настроен на старое имя.