Резервная копия и рабочий дубль базы 1С 8.3: от выгрузки .dt до бэкапа SQL
Содержание
Создать копию базы
1С 8.3 проще всего в Конфигураторе: Администрирование → Выгрузить информационную базу, и на диске появится файл .dt со всеми данными, конфигурацией и списком пользователей. Для файловой базы есть ещё более быстрый способ — скопировать папку с файлом 1Cv8.1CD, пока в базе никто не работает
. Для клиент-серверной базы на MS SQL или PostgreSQL надёжнее делать бэкап средствами самой СУБД.
Какой способ выбрать, зависит от цели. Перед обновлением или рискованной правкой хватит .dt. Для ежедневного резервного копирования большой серверной базы .dt неудобен: нужен монопольный доступ, а выгрузка базы на 50–100 ГБ идёт часами. Там работает бэкап СУБД по расписанию.
| Способ | Где работает | Нужно выгнать пользователей | Когда выбирать |
|---|---|---|---|
Выгрузка .dt в Конфигураторе | файловая и серверная база | да | перед обновлением, перенос на другой компьютер или СУБД, разовая копия |
Копирование 1Cv8.1CD | только файловая база | да | быстрая копия небольшой базы, тестовый дубль |
| Встроенная обработка резервного копирования | файловая база в типовых конфигурациях | программа завершает сеансы сама | регулярные копии без администратора |
| Бэкап MS SQL / PostgreSQL | только серверная база | нет | ежедневные копии, большие базы, восстановление на момент времени |
Подготовка базы 1С 8.3 к созданию копии
Копия бесполезна, если её сделали из базы с ошибками или не туда, где она переживёт сбой. Перед первым копированием решите три вопроса.
📁 Куда сохранять. Не на тот же диск, где лежит база. Минимум — второй физический диск или сетевая папка. Лучше — ещё одна копия вне офиса: облачное хранилище или внешний диск, который не подключён к серверу постоянно. Шифровальщик, который добрался до сервера, зашифрует и бэкапы в соседней папке.
🔑 Кто выполняет. Для выгрузки .dt нужен пользователь с правами администратора в базе. Для бэкапа СУБД — учётная запись с правом на резервное копирование
(в MS SQL это роль db_backupoperator или sysadmin, в PostgreSQL — владелец базы или суперпользователь).
👥 Как освободить базу. Выгрузка .dt и копирование файла .1CD требуют, чтобы в базе не было других сеансов. Предупредите пользователей заранее и выберите время: обед, вечер, выходной.
Узнать, кто сейчас в базе:
- В пользовательском режиме откройте
Администрирование → Обслуживание → Активные пользователи(в БП 3.0 и ЗУП 3.1 путь именно такой). - Для серверной базы список сеансов виден ещё в консоли администрирования кластера, в узле базы →
Сеансы. - Чтобы никто не зашёл во время работ, в типовых конфигурациях есть
Администрирование → Обслуживание → Блокировка работы пользователей. Задайте время начала и текст сообщения.
Принудительное завершение сеансов обрывает работу пользователей: несохранённые документы пропадут. Делайте это только после предупреждения и вне рабочего времени.
💡 Узнайте размер базы до копирования. У файловой базы это размер 1Cv8.1CD. Файл .dt сжат и обычно в 4–10 раз меньше, но место на диске под него всё равно нужно с запасом.
Создание копии базы в Конфигураторе: выгрузка .dt
Этот способ одинаково работает для файловой и клиент-серверной базы. Файл .dt не зависит от СУБД: его можно загрузить в файловую базу
, в MS SQL или в PostgreSQL.
Пошагово
- Запустите 1С, выберите базу в списке и нажмите
Конфигуратор. - Войдите под пользователем с административными правами.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла. Удобный формат имени:
buh_2026-10-07_1830.dt— дата и время сразу видны в списке файлов. - Нажмите
Сохранитьи дождитесь сообщения о том, что выгрузка завершена. Окно не закрывайте, компьютер не выключайте.
Время выгрузки зависит от объёма. База на 2–3 ГБ выгружается за несколько минут, на десятки гигабайт — от получаса и дольше.
Что попадает в .dt, а что нет
- ✅ данные всех объектов: справочники, документы, регистры;
- ✅ основная конфигурация и конфигурация базы данных;
- ✅ список пользователей с их паролями и ролями;
- ✅ расширения конфигурации , подключённые к базе;
- ❌ внешние обработки и отчёты, которые лежат файлами на диске, а не в справочнике базы;
- ❌ настройки кластера: блокировка регламентных заданий, параметры подключения;
- ❌ файлы, хранящиеся в томах на диске, если в программе включено хранение вложений в томах.
Если файлы базы хранятся в томах, копируйте папку томов отдельно — иначе после восстановления вложения пропадут.
Выгрузка из командной строки
Тот же .dt можно получить без открытия Конфигуратора. Это основа для скриптов автоматизации.
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh.dt" /Out "E:\Backup\dump.log"
Для серверной базы вместо /F "путь" пишут /S "сервер\имя_базы". Номер версии в пути замените на установленный у вас. Ключ /Out сохраняет протокол: по нему видно, прошла ли выгрузка или упала на занятой базе.
Особенности копирования файловых и SQL-баз
Файловая база: копирование папки
Файловая база — это папка, в которой главный файл 1Cv8.1CD. Копия создаётся обычным копированием.
- Убедитесь, что в базе нет сеансов, включая фоновые задания и открытый Конфигуратор.
- Скопируйте файл
1Cv8.1CD(или всю папку) в место для копий. - Если нужна рабочая копия рядом с основной — положите её в отдельную папку и добавьте в список баз: в окне запуска
Добавить → Добавление в список существующей информационной базы, укажите каталог.
Файл .1CD, скопированный во время работы пользователей, может оказаться внутренне несогласованным. Такая копия иногда открывается, а иногда выдаёт ошибку формата потока или не открывается вовсе. Копируйте только «тихую» базу.
Папки 1Cv8Log (журнал регистрации) и 1Cv8FTxt (полнотекстовый индекс) копировать не обязательно. Индекс пересоздаётся, а журнал нужен, только если вы разбираете, кто и что менял.
Встроенное резервное копирование в типовых конфигурациях
В БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Он работает для файловой базы под Windows: программа сама завершает сеансы, выгружает копию в указанный каталог и хранит заданное количество последних копий. Можно включить напоминание или копирование по расписанию.
Для клиент-серверной базы этот раздел подскажет, что копировать нужно средствами СУБД.
Серверная база на MS SQL Server
Бэкап СУБД делается без отключения пользователей и не зависит от 1С. Простой вариант через запрос в SQL Server Management Studio:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_2026-10-07.bak'
WITH COMPRESSION, CHECKSUM, STATS = 10;
CHECKSUM проверяет страницы при записи, COMPRESSION уменьшает файл в несколько раз (сжатие доступно не во всех редакциях SQL Server, в Express его нет).
💡 Если у базы модель восстановления FULL, добавьте регулярные бэкапы журнала транзакций. Без них журнал растёт до размера диска. Если восстановление на конкретный момент вам не нужно, переведите базу в модель SIMPLE.
Серверная база на PostgreSQL
Для PostgreSQL копию делает утилита pg_dump. Формат -Fc сжатый и позволяет восстанавливать базу через pg_restore:
pg_dump -U postgres -h localhost -Fc -f /backup/buh_2026-10-07.dump buh
Используйте pg_dump из той же сборки PostgreSQL, что стоит на сервере (для 1С обычно это сборка от фирмы 1С или Postgres Pro). Утилита от другой версии может не прочитать базу или выдать несовместимый файл.
Рабочий дубль серверной базы
Чтобы получить отдельную тестовую базу на сервере, удобнее всего:
- Создать в консоли кластера новую информационную базу (
Создать → Информационная база) с новым именем базы СУБД. - Открыть её в Конфигураторе и загрузить
.dtосновной базы.
Можно и без .dt: восстановить бэкап СУБД под новым именем и зарегистрировать в кластере новую базу, указав это имя в поле базы данных и сняв флажок создания базы.
Автоматизация резервного копирования 1С 8.3
Ручная копия раз в месяц не спасает от сбоя во вторник. Регулярность задаётся так: сколько работы вы готовы потерять — такой и интервал. Для бухгалтерии обычно хватает ежедневной ночной копии и отдельной копии перед каждым обновлением.
Файловая база: bat-файл и Планировщик заданий Windows
Скрипт выгружает .dt с датой в имени и удаляет копии старше 14 дней:
@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
set EXE="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
%EXE% DESIGNER /F "D:\Bases\Buh" /N "Backup" /P "пароль" /DumpIB "E:\Backup\buh_%D%.dt" /Out "E:\Backup\buh_%D%.log"
forfiles /p "E:\Backup" /m *.dt /d -14 /c "cmd /c del @path"
Разбор даты через %date:~...% зависит от региональных настроек Windows: проверьте, что получается, командой echo %D%.
Что настроить в Планировщике заданий:
- Запуск ночью, когда пользователей точно нет.
- Запуск от учётной записи, у которой есть доступ к папке базы и папке копий.
- Флажок выполнения независимо от входа пользователя в систему.
Если вечером кто-то не вышел из 1С, выгрузка не выполнится. Смотрите протокол из /Out хотя бы раз в неделю. Пароль администратора в bat-файле лежит открытым текстом — заведите для копирования отдельного пользователя 1С и ограничьте доступ к папке со скриптом.
Серверная база: планы обслуживания и cron
- 🗄️ MS SQL Server (кроме Express): мастер
Management → Maintenance Plansв SSMS. Типовой набор — полный бэкап раз в сутки, бэкап журнала каждый час при моделиFULL, удаление старых файлов. - 🗄️ SQL Server Express: агента SQL нет, поэтому
BACKUP DATABASEзапускают черезsqlcmdиз Планировщика заданий Windows. - 🐘 PostgreSQL на Linux: строка в
crontabсpg_dumpи удалением старых файлов черезfind /backup -name "*.dump" -mtime +14 -delete.
💡 Правило «3-2-1»: три копии данных, на двух разных носителях, одна — вне офиса. Даже простая синхронизация папки бэкапов в облако закрывает третий пункт.
Восстановление базы из созданной копии
Из файла .dt
- Откройте нужную базу в Конфигураторе. Если восстанавливаете в новую базу — сначала создайте пустую через
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Меню
Администрирование → Загрузить информационную базу. - Выберите файл
.dtи подтвердите загрузку.
Загрузка .dt полностью заменяет всё содержимое базы: данные, конфигурацию и пользователей. Вернуть то, что было до загрузки, нельзя. Поэтому в рабочую базу .dt грузят только после того, как сделали её свежую копию.
Загрузка требует, чтобы в базе не было других сеансов. Версия платформы, в которую загружают .dt, должна быть не ниже той, в которой файл выгрузили.
Из копии файла .1CD
Замените файл 1Cv8.1CD в папке базы на скопированный, предварительно убедившись, что базу никто не открыл. Старый файл не удаляйте сразу — переименуйте, пока не проверите восстановленную копию.
Из бэкапа MS SQL
Восстановление под новым именем, чтобы не трогать рабочую базу:
RESTORE DATABASE [buh_test]
FROM DISK = N'E:\Backup\buh_2026-10-07.bak'
WITH MOVE N'buh' TO N'D:\SQLData\buh_test.mdf',
MOVE N'buh_log' TO N'D:\SQLData\buh_test_log.ldf',
STATS = 10;
Логические имена файлов (buh, buh_log в примере) у вас могут быть другими — посмотрите их командой RESTORE FILELISTONLY FROM DISK = N'...'.
Из дампа PostgreSQL
createdb -U postgres -T template0 buh_test
pg_restore -U postgres -d buh_test /backup/buh_2026-10-07.dump
Что сделать сразу после восстановления копии
Копия знает всё то же, что рабочая база: настройки обменов, отправки отчётности, загрузки выписок из банка. Если её не «заглушить», тестовая база может отправить письма клиентам или выгрузить данные в обмен.
- 🔒 На сервере в свойствах базы в консоли кластера включите
Блокировка регламентных заданий включена. - 🔒 Типовые конфигурации при первом запуске на новом месте обычно спрашивают, перемещена ли база или это копия. Выберите вариант с копией: работа с внешними ресурсами (обмены, синхронизация, почта) будет заблокирована.
- 🏷️ Переименуйте копию в списке баз так, чтобы её нельзя было спутать с рабочей: например,
ТЕСТ — Бухгалтерия.
Проверка целостности резервных копий
Непроверенный бэкап — это надежда, а не копия. Самая частая история: копии делались годами, а при сбое выяснилось, что файлы пустые или битые.
Проверка по уровням — от быстрой к полной:
- Размер и дата файла. Каждый новый файл должен появляться по расписанию и не быть подозрительно маленьким. Файл
.dtна 1 КБ — это сбой выгрузки. - Протокол. Лог из
/Out, история плана обслуживания SQL или вывод cron без ошибок. - Проверка файла средствами СУБД. Для MS SQL —
RESTORE VERIFYONLY FROM DISK = N'...' WITH CHECKSUM. Она проверяет читаемость, но не заменяет пробное восстановление. - Пробное восстановление. Раз в месяц разворачивайте копию в тестовую базу и открывайте её в 1С.
Логическую целостность данных проверяют в Конфигураторе: Администрирование → Тестирование и исправление. Для копии сначала запустите только проверку, без исправления, — так вы узнаете, в каком состоянии база была в момент копирования.
Физическую целостность файла .1CD проверяет утилита chdbfl.exe из папки bin установленной платформы. Запускать её можно только на базе, которую никто не открыл.
Частые вопросы
Можно ли выгрузить .dt, пока пользователи работают в базе?
Загрузится ли .dt в базу на более старой версии платформы?
Сохраняются ли в копии пароли пользователей?
.dt, в файле .1CD и в бэкапе СУБД список пользователей хранится вместе с паролями. Поэтому копии нельзя отдавать посторонним, а войти в восстановленную базу можно со старым паролем.Чем копия базы отличается от сохранения конфигурации в файл .cf?
.cf содержит только конфигурацию — структуру и программный код, без документов и справочников. Для восстановления данных он бесполезен.