Копия информационной базы 1С 8.3: файловый вариант, сервер 1С и SQL
Содержание
Самый универсальный способ сделать копию базы
1С — открыть её в Конфигураторе и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt. Его загружают в новую пустую базу через Администрирование → Загрузить информационную базу. Способ одинаково работает для файловой и клиент-серверной базы.
Частое заблуждение — считать, что для копирования хватит скопировать ярлык базы или строку из списка запуска. Список в окне запуска хранит только путь к базе. Сами данные лежат в файле 1Cv8.1CD (файловый вариант) или в базе данных СУБД (серверный вариант). Копировать нужно именно их.
С чего начать: тип базы и цель копии
Сначала поймите, с какой базой вы работаете. Выделите её в окне запуска 1С и посмотрите строку под списком:
- 📁
File="D:\Bases\Buh"— файловая база. Все данные в одном файле1Cv8.1CDвнутри этой папки. - 🖥️
Srvr="srv1c";Ref="buh"— клиент-серверная база . Данные хранятся в СУБД (MS SQL Server или PostgreSQL), а 1С обращается к ним через кластер серверов .
Второй вопрос — зачем нужна копия. От ответа зависит способ:
| Цель | Что подходит лучше |
|---|---|
| Резервная копия перед обновлением | Выгрузка .dt или копия папки (для файловой) |
| Тестовая база для экспериментов | Выгрузка .dt и загрузка в новую базу |
| Перенос на другой компьютер или сервер | .dt или бэкап средствами СУБД |
| Ежедневное резервирование большой серверной базы | Бэкап средствами СУБД по расписанию |
Перед копированием проверьте свободное место. Файл .dt сжат и обычно в несколько раз меньше рабочей базы. Но при загрузке новая база займёт столько же места, сколько исходная, плюс запас под временные файлы.
Для выгрузки и загрузки нужен пользователь с правами администратора в базе. Если в базе нет ни одного пользователя, Конфигуратор откроется без пароля.
Копирование файловой базы 1С через Конфигуратор
Способ 1. Выгрузка в файл .dt
- В окне запуска выберите базу и нажмите
Конфигуратор. - В меню выберите
Администрирование → Выгрузить информационную базу.... - Укажите папку и имя файла, например
D:\Backup\buh_2026-10-07.dt. - Нажмите
Сохранитьи дождитесь сообщения о завершении выгрузки.
Пока идёт выгрузка, пользователи могут оставаться в базе. Но если кто-то в этот момент проводит документы, в копию попадёт состояние «на середине». Для резервной копии перед обновлением лучше попросить всех выйти.
Способ 2. Создание новой базы из копии
Файл .dt — это ещё не рабочая база. Чтобы открыть копию, её нужно развернуть:
- В окне запуска нажмите
Добавить. - Выберите
Создание новой информационной базы→Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы. - Задайте понятное имя, например «Бухгалтерия — КОПИЯ», и новую пустую папку.
- Откройте новую базу в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базу...и укажите файл.dt. - Подтвердите загрузку и согласитесь на перезапуск Конфигуратора.
Загружайте .dt только в новую пустую базу. Загрузка полностью заменяет данные и конфигурацию базы-приёмника, отменить её нельзя.
Способ 3. Копия папки с файлом 1Cv8.1CD
Для файловой базы есть ещё более простой путь — скопировать каталог целиком.
- Убедитесь, что из базы вышли все пользователи. Пока база открыта хотя бы одним сеансом, файл
1Cv8.1CDзаблокирован, а копия может оказаться повреждённой. - Скопируйте всю папку базы, а не только
1Cv8.1CD. В ней же лежит каталог1Cv8Logс журналом регистрации. - Положите копию в новое место и добавьте её в список:
Добавить → Добавление в список существующей информационной базы, укажите новую папку.
Копия папки быстрая, но у неё есть минус: если исходный файл уже повреждён, вы скопируете и повреждение. Выгрузка .dt читает данные заново и часто сразу сообщает о проблеме.
Копия серверной базы через консоль кластера 1С
У клиент-серверной базы нет одного файла, который можно скопировать мышкой. Схема такая: создаёте в кластере новую пустую базу, а затем переносите в неё данные через .dt.
Шаг 1. Создайте новую базу в кластере
- Откройте
Администрирование серверов 1С Предприятия. - Раскройте
Центральные серверы 1С:Предприятия → имя сервера → Кластеры → кластер. - Правой кнопкой по узлу
Информационные базы→Создать → Информационная база. - Заполните поля:
- имя базы в кластере, например
buh_test; - сервер баз данных и тип СУБД;
- имя новой базы данных в СУБД;
- пользователь и пароль СУБД.
- имя базы в кластере, например
- Отметьте флажок
Создать базу данных в случае ее отсутствия. - Отметьте
Установить блокировку регламентных заданий. - Нажмите
ОК.
Шестой пункт важен. Без блокировки копия начнёт выполнять регламентные задания: загружать выписки из банка, отправлять почту, запускать обмены. Две базы с одинаковыми настройками обмена могут перепутать данные в узле-приёмнике.
Шаг 2. Перенесите данные
- Откройте исходную базу в Конфигураторе и выгрузите
.dt, как в разделе про файловую базу . - Добавьте новую базу в окно запуска:
Добавить → Добавление в список существующей информационной базы, типНа сервере 1С:Предприятия, кластер и имяbuh_test. - Откройте её в Конфигураторе и загрузите
.dtчерезАдминистрирование → Загрузить информационную базу....
Загрузка .dt требует монопольного доступа к базе-приёмнику. Если в новую базу уже кто-то зашёл, загрузка не начнётся.
Копирование базы 1С средствами SQL Server и PostgreSQL
Для больших серверных баз (десятки гигабайт и больше) выгрузка .dt может идти часами. Бэкап средствами СУБД обычно быстрее и не нагружает сервер 1С.
MS SQL Server
Создайте резервную копию через SQL Server Management Studio: правой кнопкой по базе → Tasks → Back Up.... Или запросом:
BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh.bak'
WITH COPY_ONLY, COMPRESSION, STATS = 10;
COPY_ONLY нужен, чтобы разовая копия не сбила цепочку плановых резервных копий.
Чтобы восстановить её как новую базу, сначала узнайте логические имена файлов:
RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh.bak';
Затем восстановите под новым именем, подставив свои логические имена:
RESTORE DATABASE [buh_test]
FROM DISK = N'D:\Backup\buh.bak'
WITH MOVE N'buh' TO N'E:\SQLData\buh_test.mdf',
MOVE N'buh_log' TO N'E:\SQLData\buh_test_log.ldf',
STATS = 10;
PostgreSQL
pg_dump -U postgres -Fc -f /backup/buh.dump buh
createdb -U postgres -T template0 buh_test
pg_restore -U postgres -d buh_test /backup/buh.dump
Регистрация восстановленной базы в 1С
Сама по себе база в СУБД ещё не видна в 1С. Зарегистрируйте её в кластере так же, как в разделе выше, но с двумя отличиями:
- в поле имени базы данных укажите имя восстановленной базы (
buh_test); - флажок
Создать базу данных в случае ее отсутствияснимите.
Блокировку регламентных заданий так же включите.
Сравнение способов копирования базы
| Способ | Тип базы | Когда выбирать | Риски и ограничения |
|---|---|---|---|
Выгрузка .dt | Любой | Тестовая копия, перенос, копия перед обновлением | Долго на больших базах; загрузка требует монопольного доступа |
| Копия папки | Файловый | Быстрая копия небольшой базы | Нужно, чтобы все вышли; копирует повреждения |
Бэкап SQL / pg_dump | Серверный | Большие базы, ежедневное резервирование | Нужен доступ к СУБД; базу надо регистрировать в кластере |
| Резервное копирование из режима Предприятие | Файловый | Пользователю без доступа к Конфигуратору | Есть не во всех конфигурациях, только для файлового варианта |
Последний способ есть в типовых конфигурациях на БСП: Администрирование → Обслуживание → Резервное копирование и восстановление. Он делает копию файловой базы
и умеет запускаться по расписанию.
Восстановление из копии и проверка её целостности
Копия, которую ни разу не открывали, — не гарантия. Проверьте её сразу после создания.
Что сделать при первом запуске копии
Типовые конфигурации замечают, что база открыта по новому адресу. Появляется окно с вопросом: база перемещена или это копия. Для тестовой копии выбирайте вариант «это копия». Тогда программа заблокирует работу с внешними ресурсами: обмены, загрузку из банка, отправку почты и отчётности.
Сразу после этого:
- ✏️ переименуйте базу в окне запуска, чтобы в названии было слово «КОПИЯ»;
- 🔒 в Конфигураторе или в карточке базы в кластере проверьте, что блокировка регламентных заданий стоит;
- 📊 сформируйте оборотно-сальдовую ведомость за последний месяц в обеих базах и сравните итоги.
Тестирование и исправление
Если копия ведёт себя странно (ошибки при открытии документов, пустые отчёты), проверьте её:
- Сделайте отдельную копию проверяемой базы, чтобы исправление можно было откатить.
- Откройте Конфигуратор и выберите
Администрирование → Тестирование и исправление.... - Для начала включите только
Проверка логической целостности информационной базыи режим «Только тестирование». - Посмотрите отчёт. Исправлять по нему стоит, только понимая, что именно будет изменено.
Для файловых баз есть утилита chdbfl.exe в каталоге bin установленной платформы. Она проверяет физическую структуру файла 1Cv8.1CD и работает, только когда базу никто не открыл.
Загружать .dt из копии обратно в рабочую базу — крайняя мера. Все документы, введённые после создания копии, пропадут. Перед такой загрузкой выгрузите текущее состояние рабочей базы в отдельный файл.
Автоматическое копирование базы 1С по расписанию
Ручная копия раз в месяц не спасёт от сбоя диска во вторник. Настройте регулярное резервирование одним из способов.
Пакетный файл и Планировщик заданий Windows
Конфигуратор умеет выгружать базу из командной строки. Пример .bat для файловой базы:
@echo off
set DT=%date:~-4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB "D:\Backup\buh_%DT%.dt" /Out "D:\Backup\log.txt"
Для серверной базы замените /F"..." на /S"srv1c\buh". Номер версии в пути подставьте свой: он виден в папке C:\Program Files\1cv8\. Формат даты в %date% зависит от региональных настроек Windows, проверьте результат на своём компьютере.
Затем в Планировщике заданий создайте задачу с запуском этого файла ночью, например в 02:00.
Пароль в .bat хранится открытым текстом. Заведите для выгрузки отдельного пользователя 1С и закройте доступ к папке со скриптом.
Планы обслуживания SQL Server
В SSMS: Management → Maintenance Plans. Обычная схема для базы 1С:
- полная копия раз в сутки ночью;
- копии журнала транзакций каждые 1–2 часа, если база в модели восстановления Full;
- удаление файлов старше 14–30 дней.
Для PostgreSQL то же делают через cron и pg_dump.
Сколько копий хранить
Рабочее правило: 7 ежедневных, 4 еженедельных и 12 ежемесячных копий. Хотя бы одна копия должна лежать не на том же диске и не на том же сервере, где работает база.
Частые ошибки при копировании
- ❌ Копия перезаписала рабочую базу. Загрузили
.dtне в ту строку списка. Перед загрузкой проверьте путь в заголовке окна Конфигуратора. - ❌ Копия отправила отчёт или загрузила выписку. Не включили блокировку регламентных заданий и при первом запуске выбрали «база перемещена».
- ❌ «Не хватает места на диске» при загрузке. Учитывайте, что развёрнутая база в разы больше файла
.dt. - ❌ Ошибка доступа при копировании папки. Кто-то из пользователей не вышел, или висит фоновый сеанс. Проверьте процессы
1cv8.exeи1cv8c.exeна компьютере с базой. Завершать их можно только после предупреждения пользователей: несохранённые данные пропадут. - ❌ Восстановленная в SQL база не открывается в 1С. При регистрации в кластере оставили флажок создания новой базы данных или указали другое имя базы данных в СУБД.
Можно ли загрузить .dt в базу на другой версии платформы?
Сохраняются ли в .dt пользователи и пароли?
Нужна ли отдельная лицензия для копии базы?
Можно ли выгрузить .dt без Конфигуратора?
1cv8.exe DESIGNER ... /DumpIB — да, но это тот же Конфигуратор в пакетном режиме, и права администратора базы всё равно нужны.