Копия рабочей базы 1С для тестов: файловая и клиент-серверная
Содержание
Копия базы разворачивается одним из трёх способов: копированием папки с файлом 1Cv8.1CD (файловая база), выгрузкой в .dt и загрузкой в пустую базу (любой вариант) или восстановлением бэкапа СУБД с регистрацией в кластере (клиент-серверная база
). Самый безопасный для рабочей базы — выгрузка в .dt, самый быстрый на больших объёмах — бэкап SQL.
Главная проблема не в самом копировании, а в том, что копия «просыпается» как боевая: рассылает письма, обменивается с банком и сайтом, запускает регламентные задания. Поэтому после каждого способа ниже идёт блок настройки копии — не пропускайте его.
Подготовка: что копируем и каким способом
Сначала ответьте на три вопроса:
- 🗂 Где лежит исходная база: в папке на диске или на сервере 1С с SQL?
- 🎯 Для чего копия: тесты обновления, отладка доработки, разбор ошибки, перенос на другой сервер?
- 💾 Сколько места свободно там, куда будете разворачивать? Копия занимает столько же, сколько исходник, а выгрузка
.dt— ещё столько же сверху (обычно файл.dtзаметно меньше базы, но заложите запас).
| Способ | Подходит для | Плюсы | Риски |
|---|---|---|---|
Копия папки с 1Cv8.1CD | Файловая база | Быстро, без конфигуратора | Нужно, чтобы все вышли из базы |
Выгрузка и загрузка .dt | Любая база | Работает между файловой и серверной, «чистит» структуру | Долго на базах в десятки гигабайт |
| Бэкап и восстановление СУБД | Клиент-серверная база | Быстрее всего на больших базах | Нужен доступ к SQL-серверу и кластеру |
Сохранение конфигурации в .cf | Только конфигурация без данных | Быстро, файл маленький | Данных в копии нет |
Версия платформы на месте развёртывания должна быть не ниже той, в которой работает исходная база. Базу, открытую более новой платформой, старой платформой не откроешь.
Перед началом выберите время, когда в рабочей базе никого нет, и убедитесь, что вы знаете логин и пароль администратора базы. Без пользователя с полными правами после развёртывания вы просто не войдёте в копию.
Файловая база: копируем папку или выгружаем .dt
Вариант 1. Копирование каталога
- Попросите всех выйти из базы. Кто сейчас в базе, видно в списке активных пользователей (раздел
Администрирование, пункт про обслуживание; в Конфигураторе —Администрирование → Активные пользователи). - Скопируйте папку базы целиком, а не один
1Cv8.1CD. Рядом с ним могут лежать служебные файлы, и платформа ждёт их на месте. - Вставьте копию в новую папку, например
D:\Bases\Test_Buh. - Запустите 1С, нажмите «Добавить» → «Добавление в список существующей информационной базы», укажите новую папку и дайте базе понятное имя:
ТЕСТ Бухгалтерия.
💡 Копию можно положить на другой компьютер: достаточно скопировать папку на флешку и добавить её в список баз на новом месте.
Вариант 2. Через выгрузку .dt
Подходит, когда копировать папку нельзя (база открыта у пользователей) или копия нужна на другой платформе хранения.
- Откройте исходную базу в Конфигураторе. Для выгрузки нужен монопольный доступ — иначе платформа не даст выполнить операцию.
- Выберите
Администрирование → Выгрузить информационную базу, укажите имя файла, напримерbuh_2026-10-07.dt. - Создайте новую пустую базу: «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
- Откройте её в Конфигураторе и выберите
Администрирование → Загрузить информационную базу, укажите файл.dt.
Загрузка заменит содержимое пустой базы данными и конфигурацией исходной. Время зависит от объёма: гигабайтная база загружается за минуты, база на 50 ГБ — за часы.
Клиент-серверная база: бэкап SQL и восстановление в новую базу
Это самый частый запрос администраторов: рабочая база на MS SQL или PostgreSQL, нужна копия рядом с боевой или на тестовом сервере.
Шаг 1. Резервная копия в СУБД
Для MS SQL в SSMS сделайте полную резервную копию (Tasks → Back Up…, тип Full), лучше с опцией COPY_ONLY, чтобы не сбить цепочку регулярных бэкапов. Тот же результат даёт запрос:
BACKUP DATABASE [buh_prod]
TO DISK = N'D:\Backup\buh_prod_copy.bak'
WITH COPY_ONLY, COMPRESSION, STATS = 10;
Для PostgreSQL используйте pg_dump в формате custom:
pg_dump -h localhost -U postgres -Fc -f /backup/buh_prod.dump buh_prod
Шаг 2. Восстановление под новым именем
На тестовом SQL-сервере восстановите бэкап в новую базу, не поверх боевой:
RESTORE DATABASE [buh_test]
FROM DISK = N'D:\Backup\buh_prod_copy.bak'
WITH MOVE N'buh_prod' TO N'D:\Data\buh_test.mdf',
MOVE N'buh_prod_log' TO N'D:\Data\buh_test_log.ldf',
STATS = 10;
Логические имена файлов (buh_prod, buh_prod_log) замените на свои — их покажет запрос RESTORE FILELISTONLY FROM DISK = N'…'.
Для PostgreSQL сначала создайте пустую базу, затем восстановите в неё:
createdb -h localhost -U postgres buh_test
pg_restore -h localhost -U postgres -d buh_test /backup/buh_prod.dump
Ошибка в имени базы на этом шаге опасна: если в запросе RESTORE написать имя боевой базы и добавить REPLACE, вы перезапишете рабочие данные. Всегда сверяйте имя дважды.
Бэкап MS SQL нельзя восстановить на более старую версию SQL Server, чем та, где он сделан. Обратное (на более новую) работает.
Регистрация восстановленной базы в кластере серверов 1С
Сама по себе восстановленная в SQL база кластеру 1С неизвестна — её нужно подключить.
Через консоль администрирования серверов 1С:
- Откройте консоль, раскройте нужный кластер → «Информационные базы».
- Правой кнопкой →
Создать → Информационная база. - Задайте имя (то, что увидят пользователи, например
buh_test), тип СУБД, адрес сервера СУБД, имя базы данныхbuh_test, логин и пароль доступа к SQL. - Поле «Смещение дат» —
2000для MS SQL, для PostgreSQL ставят0. Значение должно совпадать с исходной базой: иначе все даты в копии съедут на 2000 лет. - Флажок «Создать базу данных в случае её отсутствия» не ставьте — база уже восстановлена, не нужно создавать новую.
- Установите «Блокировка регламентных заданий включена» — пока копию не настроите, пусть они не запускаются.
Через командную строку создать пустую базу
в кластере можно так (подробнее — в справке по 1cv8 CREATEINFOBASE):
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CREATEINFOBASE ^
Srvr="srv1c";Ref="buh_test";DBMS=MSSQLServer;DBSrvr="sql01";DB="buh_test"; ^
DBUID="sa";DBPwd="пароль";SQLYOffs=2000;SchJobDn=Y
Здесь 8.3.xx.xxxx — номер вашей платформы. Если база уже есть в SQL и вам нужна только регистрация, CrSQLDB не указывайте.
Потом добавьте базу в список запуска на клиентских машинах — обычным «Добавлением существующей информационной базы» с типом «На сервере 1С:Предприятия».
Настройка копии после развёртывания: чтобы она не мешала боевой
Это самый важный раздел. Копия рабочей базы не знает, что она копия.
- ✉️ Почта и уведомления. Отключите учётную запись электронной почты или замените на тестовую (в разделе
Администрированиеоткройте настройки программы и найдите учётные записи электронной почты). Иначе копия отправит письма клиентам. - 🔄 Обмены. Выключите расписания обменов с сайтом, банком, другой конфигурацией. Обмен по настройкам «как у боевой» перезапишет данные в реальной базе-партнёре.
- ⏱ Регламентные задания. Если вы ставили блокировку на этапе регистрации — оставьте до конца настройки. Потом включайте только нужные.
- 🏦 Банк и ЭДО. Удалите или отключите настройки подключений к банку-клиенту, оператору ЭДО, ОФД, ГИС МТ. Документы из копии не должны уйти контрагентам.
- 👤 Пользователи. Заведите отдельного администратора для тестов. Пароли боевых пользователей лучше не раздавать.
- 🏷 Наименование. Поменяйте название информационной базы и добавьте в заголовок окна метку
ТЕСТ, чтобы бухгалтер не ввёл в копии настоящий документ.
💡 Отдельной кнопки «Сделать тестовую копию» в типовых конфигурациях нет — настраивайте всё вручную по списку выше и сохраните его как чек-лист.
Лицензии: подключение копии к серверу 1С использует лицензии так же, как и боевая база, — каждый сеанс занимает свою. Помните об этом, если у вас ограниченное число клиентских лицензий.
Автоматизация: скрипты и консольные утилиты
Если копию нужно делать регулярно (например, каждую ночь для отчётной базы), соберите всё в скрипт. Минимальный набор для файловой базы:
@echo off
set SRC=D:\Bases\Buh
set DST=D:\Bases\Buh_copy
rmdir /s /q "%DST%"
xcopy "%SRC%" "%DST%" /E /I /Y
echo Копия готова
Для выгрузки .dt без участия человека:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" ^
/N "Администратор" /P "пароль" /DumpIB "D:\Backup\buh.dt" /Out "D:\Backup\dump.log"
И загрузка:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh_copy" ^
/N "Администратор" /P "пароль" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log"
Для серверных баз общая схема такая: скрипт RESTORE DATABASE через sqlcmd → блокировка регламентных заданий (через консоль, rac или параметр при создании базы) → запуск обработки подготовки копии. Точный синтаксис rac смотрите в справке rac help: он различается между версиями платформы, и придумывать подкоманды по памяти не стоит.
Перед тем как завершать сеансы пользователей или останавливать службу сервера 1С в скрипте, предупредите людей: незаписанные данные пропадут. Делайте такие вещи вечером или ночью.
Запускайте скрипт по расписанию из планировщика Windows или cron, а лог складывайте рядом с копией. Через неделю вы сами поблагодарите себя за эти логи.
Проверка копии перед тем, как отдать её в работу
Копия развёрнута и настроена, но отдавать её тестировщикам рано. Пять минут проверки сэкономят час разбирательств.
Сверьте также объём данных: откройте журнал регистрации и последние проведённые документы. Если свежих записей нет, вы развернули устаревший бэкап. Сравните количество элементов в крупном справочнике (номенклатура, контрагенты) в обеих базах: цифры должны совпасть на момент снятия копии.
Отдельно проверьте внешние обработки и отчёты, подключённые по дополнительным настройкам: они лежат внутри базы и переедут вместе с ней, но ссылки на файлы вне базы (сетевые пути, диски) на новом месте могут не работать.
Где держать копии и как долго
Тестовые базы имеют свойство множиться и забываться. Через год на сервере лежит десять «temp_buh_2» с настоящими персональными данными сотрудников, и никто не помнит, чьи они.
- 🗓 Договоритесь о сроке жизни копии: например, 2–4 недели после тестирования.
- 📛 Называйте базы по шаблону
назначение_дата:test_upd_2026-10-07. - 🔒 Доступ к копии давайте тем же людям, кому разрешено видеть боевые данные. В копии те же ФИО, зарплаты и реквизиты.
- 🧹 Удаляя копию на сервере, удалите и базу в кластере, и саму SQL-базу. Одно без другого оставляет мусор.
Если копия не открывается: типичные ошибки
2000, как и у исходной базы. Удалите регистрацию (саму SQL-базу не трогайте) и создайте заново..dt монопольный доступ обязателен./Out). Частая причина — не хватило места на диске или версия платформы не подходит.Частые вопросы
Можно ли просто скопировать файл 1Cv8.1CD на другой компьютер?
Нужна ли отдельная лицензия на копию?
Как скопировать клиент-серверную базу в файловую?
.dt из серверной базы и загрузите его в новую файловую. Бэкап SQL в файловую базу восстановить нельзя.Что делать, если база большая и выгрузка идёт часами?
.dt оставьте для переноса между разными типами баз.