Резервное копирование 1С без потерь: от выгрузки .dt до копии на уровне СУБД
Содержание
Самый надёжный ручной бэкап базы
1С делают в Конфигураторе: Администрирование → Выгрузить информационную базу, указать путь и сохранить файл
.dt. Для файловой базы дополнительно можно скопировать каталог с файлом 1Cv8.1CD, когда в базе никто не работает
. Для клиент-серверной базы правильный бэкап делают средствами СУБД (MS SQL или PostgreSQL), а выгрузку .dt оставляют как вторую, переносимую копию.
Типичная история: бухгалтер в пятницу вечером запускает групповую перепроводку, в понедельник выясняется, что половина документов закрыта неправильно, а последняя копия базы — трёхмесячной давности на флешке. Правильно настроенный бэкап базы 1С превращает такой понедельник в час работы: развернуть копию за четверг и повторить пару операций.
Какие бывают копии базы 1С и что выбрать
У 1С нет одного «правильного» способа. Есть несколько форматов копий, и у каждого своя задача.
| Способ | Для какой базы | Что сохраняет | Плюсы | Минусы |
|---|---|---|---|---|
Выгрузка .dt | Файловая и серверная | Конфигурацию, данные, список пользователей | Переносится между СУБД и серверами, файл компактный | Долго на больших базах, нужна тишина в базе |
Копия 1Cv8.1CD | Только файловая | Всё содержимое базы как есть | Быстро, восстановление — простое копирование | Только при закрытых сеансах, файл крупный |
| Бэкап СУБД | Только серверная | Всю базу данных SQL | Можно по расписанию без остановки, точка во времени | Восстанавливается только в ту же СУБД |
Снимок диска / ВМ (vhdx, VSS) | Любая | Весь том или виртуальную машину | Защищает от гибели сервера целиком | Копия живой базы может оказаться несогласованной |
Файл .cf | Любая | Только конфигурацию, без данных | Нужен перед обновлением доработанной конфигурации | Данные не спасает |
Рабочая схема для небольшой фирмы: ежедневная выгрузка .dt по расписанию плюс еженедельная копия на внешний диск или в облако. Для сервера: полный бэкап СУБД каждую ночь, журнал транзакций каждые 15-60 минут, .dt раз в неделю.
Стратегию удобно строить по правилу 3-2-1: три копии, на двух разных носителях, одна вне офиса. Копия на том же диске, что и база, не защищает ни от поломки диска, ни от шифровальщика.
Сколько хранить копии:
- 📅 ежедневные — 7-14 штук;
- 🗓 еженедельные — 4-5 штук;
- 📦 ежемесячные — 12 штук, а копию после закрытия года держать отдельно и не удалять.
Выгрузка базы 1С в файл .dt через Конфигуратор
Это базовый способ, который подходит для любой базы.
- Предупредите пользователей и попросите выйти из программы. Выгрузка работает и при открытых сеансах, но данные, которые меняются в момент выгрузки, могут попасть в файл в промежуточном состоянии.
- В окне запуска выберите базу и нажмите
Конфигуратор. - В меню выберите
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла. Удобно включать в имя название базы и дату:
buh_2026-10-07.dt. - Дождитесь сообщения о завершении выгрузки. На базе 2-3 ГБ это обычно несколько минут, на базе в десятки гигабайт — до часа и дольше.
Восстановление идёт обратным путём: Администрирование → Загрузить информационную базу.
Загрузка .dt полностью заменяет текущие данные базы. Восстанавливайте копию в новую пустую базу, а не поверх рабочей, пока не убедитесь, что копия правильная.
Перед обновлением доработанной конфигурации полезно сохранить ещё и саму конфигурацию: Конфигурация → Сохранить конфигурацию в файл создаёт файл .cf. Он весит мало, но данных в нём нет — это дополнение к .dt, а не замена.
Встроенная обработка в БП, ЗУП и других типовых
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) для файловой базы есть мастер прямо в пользовательском режиме: Администрирование → Обслуживание → Резервное копирование и восстановление. Там можно сделать копию сейчас или настроить автоматическое копирование при завершении работы программы и по расписанию.
Ограничения мастера:
- 🖥 работает в файловом варианте и в клиенте под Windows;
- 👤 копия делается от имени того пользователя, на чьём компьютере запущена программа, и туда, куда у него есть доступ;
- 🗂 для серверной базы мастер копирования не предлагают — там бэкап делают средствами СУБД.
Копия файловой базы: просто скопировать папку
Файловая база — это каталог, в котором лежит файл 1Cv8.1CD. Если в базе нет ни одного сеанса, копия этого файла — полноценный бэкап. Восстановление — положить файл обратно или подключить скопированный каталог как новую базу в окне запуска.
Как найти каталог: в окне запуска выделите базу — путь показан внизу окна, или откройте Изменить у базы в списке.
Порядок:
- Убедитесь, что все вышли из базы. Признак открытого сеанса — файл
1Cv8.1CLрядом с базой и ошибка при попытке скопировать1Cv8.1CD. - Скопируйте весь каталог базы, а не только
1Cv8.1CD. - Заархивируйте копию: файл базы хорошо сжимается, часто в 5-10 раз.
Не копируйте 1Cv8.1CD из-под работающих пользователей обычным копированием или синхронизацией облачного диска (Яндекс Диск, OneDrive). Такая копия часто оказывается битой, и об этом узнают только при восстановлении.
Автоматический бэкап 1С из командной строки по расписанию
Выгрузку .dt можно запускать без участия человека: исполняемый файл 1cv8.exe в режиме DESIGNER принимает параметр /DumpIB. Этот скрипт и решает задачу «утилиты для автоматизации» — ставить ничего не нужно, всё уже есть в платформе.
Пример bat-файла для файловой базы:
@echo off
chcp 65001 > nul
rem Путь к платформе: подставьте свою версию из C:\Program Files\1cv8\
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set DEST=D:\Backup1C
set USER=Администратор
set PASS=
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmm"') do set TS=%%i
%V8% DESIGNER /F "%BASE%" /N "%USER%" /P "%PASS%" /DisableStartupMessages ^
/DumpIB "%DEST%\buh_%TS%.dt" /Out "%DEST%\buh_%TS%.log"
if %ERRORLEVEL% neq 0 echo Ошибка выгрузки, смотрите лог >> "%DEST%\errors.txt"
rem Удалить выгрузки старше 14 дней
forfiles /p "%DEST%" /m *.dt /d -14 /c "cmd /c del @path"
Для серверной базы вместо /F "путь" пишут /S "имя_сервера\имя_базы".
Что учесть:
- 🔑 пользователь из параметра
/Nдолжен иметь административные права в базе; - 🔒 если в базе установлена блокировка сеансов с кодом разрешения, добавьте
/UC код— иначе Конфигуратор не подключится; - 📝 файл из
/Out— главный источник правды: читайте его, а не только смотрите на наличие.dt; - 🧾 пароль в bat-файле лежит открытым текстом: ограничьте доступ к скрипту правами NTFS.
Скрипт ставят в Планировщик заданий Windows: Создать задачу, триггер «Ежедневно» в ночное время, действие — запуск bat-файла, флажок «Выполнять для всех пользователей». Запускать задание стоит от учётной записи, у которой есть доступ и к каталогу базы, и к папке копий.
В платформе 8.3.14 и новее есть ещё автономная утилита ibcmd: она умеет выгружать базу без запуска Конфигуратора. Набор команд и параметров смотрите в её встроенной справке ibcmd help.
Бэкап клиент-серверной базы средствами СУБД
Для серверной базы основной бэкап — копия базы данных в СУБД. Она идёт без выгона пользователей и даёт возможность вернуться на конкретный момент.
MS SQL Server
Проще всего настроить план обслуживания в SQL Server Management Studio: Management → Maintenance Plans. Для ручного бэкапа подходит запрос:
BACKUP DATABASE [buh]
TO DISK = N'D:\SQLBackup\buh_full.bak'
WITH COMPRESSION, CHECKSUM, STATS = 10;
Модель восстановления выбирают под задачу:
| Модель | Что даёт | Когда подходит |
|---|---|---|
| Simple | Только полные и разностные копии | Можно потерять работу за день |
| Full | Плюс копии журнала транзакций, возврат на любой момент | Учётная база, где день работы — это много |
При модели Full журнал транзакций обязательно бэкапить регулярно (BACKUP LOG), иначе файл журнала растёт, пока не закончится место на диске.
Параметр COMPRESSION есть не во всех редакциях SQL Server. Если запрос выдаёт ошибку на этом параметре, уберите его.
PostgreSQL
Логическая копия одной базы делается утилитой pg_dump:
"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -Fc -f D:\PGBackup\buh.backup buh
Формат -Fc сжатый, восстанавливается командой pg_restore в заранее созданную пустую базу. Номер версии в пути подставьте свой. Для возврата на произвольный момент времени нужен другой механизм: физическая копия pg_basebackup плюс архивирование WAL.
Копия СУБД восстанавливается только в ту же СУБД. Чтобы переехать с MS SQL на PostgreSQL или на файловую базу, нужна выгрузка .dt — поэтому её делают раз в неделю и на сервере.
Снимки диска, VSS и копии виртуальной машины
Если 1С работает в виртуальной машине Hyper-V, можно бэкапить весь сервер целиком: экспорт ВМ или копия её дисков vhdx средствами гипервизора или программ резервного копирования. Такая копия спасает, когда погиб весь сервер: не нужно ставить заново Windows, платформу, СУБД и настраивать лицензии.
Теневое копирование тома (VSS) в Windows позволяет снять снимок диска, не останавливая работу. Этим пользуются почти все программы резервного копирования серверов.
Где тут подвох:
- 🧩 снимок фиксирует диск в один момент, но файл
1Cv8.1CDв этот момент может быть в середине записи. Такая копия похожа на базу после отключения питания: часто открывается, иногда требует исправления, иногда не открывается; - 🗄 MS SQL Server поддерживает VSS через свою службу, и программа бэкапа делает согласованную копию базы. Для PostgreSQL и файловой базы 1С согласованность снимка не гарантирована;
- 💾 снимок ВМ на том же хосте — не резервная копия: при поломке хоста теряются и база, и снимок.
Вывод простой: снимки диска и ВМ — третий уровень защиты. Основным бэкапом базы 1С остаются .dt и копии СУБД.
Проверка копий: бэкап, который ни разу не восстанавливали
Копия, которую не пробовали восстановить, — это надежда, а не бэкап. Проверка занимает полчаса раз в месяц.
Чем проверять целостность:
- 🔧 в Конфигураторе тестовой базы —
Администрирование → Тестирование и исправление, сначала только проверка без исправления; - 📁 для файловой базы — утилита
chdbfl.exeиз каталогаbinплатформы, запускается при закрытой базе; - 🗄 для MS SQL —
RESTORE VERIFYONLY FROM DISK = N'...': проверяет, что файл копии читается, но не заменяет пробное восстановление; - 🐘 для PostgreSQL —
pg_restore --list buh.backup: если оглавление копии читается, файл не обрезан.
Тестирование и исправление требует монопольного доступа и в режиме исправления меняет данные. На рабочей базе запускайте его только после свежего бэкапа и в нерабочее время, когда все пользователи вышли.
Отдельно контролируйте место на диске. Частая причина «бэкапы перестали делаться» — диск с копиями заполнился, а скрипт молча падает. Поэтому в bat-файле выше и есть удаление старых файлов и запись ошибок в отдельный файл.