Копия базы 1С без потерь: файл, выгрузка .dt, бэкап SQL и PostgreSQL
Содержание
Самый надёжный способ снять копию базы
1С 8.3 — выгрузить её в файл .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Для файловой базы есть и более быстрый путь: закрыть все сеансы и скопировать папку базы с файлом 1Cv8.1CD. Базы на MS SQL Server и PostgreSQL копируют средствами самой СУБД, а .dt делают дополнительно.
Какой способ выбрать, решает тип базы и её размер. Бухгалтер небольшой фирмы с файловой базой обойдётся копированием папки или выгрузкой .dt. Администратору сервера с базой на 50–100 ГБ нужен бэкап СУБД по расписанию: выгрузка .dt такого объёма идёт часами.
Зачем снимать копию базы 1С и чем грозит её отсутствие
Копия нужна не «на всякий случай», а перед конкретными операциями и по расписанию. Без неё любая из ситуаций ниже превращается в потерю данных за месяцы работы.
- 💥 Сбой при обновлении конфигурации: обновление прервалось, база не открывается.
- 🔌 Отключение питания во время записи — файл
1Cv8.1CDповреждается. - 🦠 Шифровальщик: файлы базы зашифрованы вместе со всем диском.
- 🧑💻 Ошибка пользователя: групповая обработка перепровела или удалила документы.
- 💽 Отказ диска, на котором лежит база.
- 🔧 Тестирование и исправление (
chdbfl.exeили режимТестирование и исправление) может удалить «битые» объекты без возврата.
Копию обязательно снимают перед обновлением релиза, перед загрузкой расширений и внешних обработок, которые меняют данные, перед закрытием года и перед тестированием базы.
Бухгалтерские данные нужно хранить не меньше пяти лет после отчётного года — так требует закон о бухгалтерском учёте. Ежедневная копия базы закрывает этот риск лучше, чем распечатки регистров.
Сравнение способов:
| Способ | Для какой базы | Нужно ли выгонять пользователей | Плюсы | Минусы |
|---|---|---|---|---|
Копирование папки с 1Cv8.1CD | Файловая | Да, обязательно | Быстро, восстановление — простой возврат файла | Копия при открытых сеансах может быть битой |
Выгрузка .dt в Конфигураторе | Любая | Желательно | Не зависит от СУБД, можно загрузить на другой сервер | Долго на больших базах, нужен Конфигуратор |
| Обработка «Резервное копирование» в программе | Файловая | Программа завершит сеансы сама | Настраивается мышкой, есть расписание | Работает только для файловой базы |
| Бэкап MS SQL / PostgreSQL | Клиент-серверная | Нет | Быстро, можно делать днём, есть журнал транзакций | Нужен доступ к серверу СУБД |
Способ 1. Копирование файловой базы 1С вручную
Файловая база — это папка, в которой лежит файл 1Cv8.1CD. В нём все данные и конфигурация. Скопировать папку — значит снять полную копию.
Как найти папку базы
- Запустите 1С, в окне выбора баз выделите нужную.
- Внизу окна появится путь вида
File="D:\Bases\Buh". Это и есть папка. - Если путь не виден, нажмите
Изменить— на втором шаге мастера будет строка с каталогом базы.
Пошагово
- Попросите всех пользователей выйти из программы, включая фоновые обработки и обмены.
- Проверьте, что в папке базы нет файла
1Cv8.cdn— он появляется, пока в базе есть сеансы. Если он есть, кто-то ещё работает. - Скопируйте всю папку на другой диск или в архив. Достаточно файла
1Cv8.1CD, но вместе с папкой надёжнее. - Переименуйте копию по дате:
Buh_2026-10-07.
Не копируйте файл 1Cv8.1CD, пока в базе работают пользователи. Проводник скопирует его без ошибок, но копия может не открыться: часть страниц файла будет записана, часть — нет.
Встроенное резервное копирование в программе
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) для файловой базы есть своя обработка. В Бухгалтерии она в разделе Администрирование → Обслуживание → Резервное копирование и восстановление.
В ней задают каталог для копий, расписание (например, при завершении работы или каждый день в 19:00) и срок хранения. Программа сама завершит сеансы, сделает архив и вернётся к работе. Для серверной базы этот пункт недоступен — там копирует администратор СУБД.
Способ 2. Выгрузка копии базы 1С в файл .dt через Конфигуратор
Выгрузка .dt — универсальный способ для файловой и серверной базы. Файл содержит конфигурацию и все данные в формате, не зависящем от СУБД. Его можно загрузить в файловую базу, на SQL Server или PostgreSQL.
Пошагово
- В окне запуска выделите базу и нажмите
Конфигуратор. - Войдите под пользователем с полными правами (роль «Администратор» или «Полные права»).
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла, например
Buh_2026-10-07.dt. - Дождитесь сообщения «Выгрузка информационной базы успешно завершена».
База на 2 ГБ выгружается примерно за несколько минут. Файл .dt сжат, поэтому обычно в 3–5 раз меньше исходной базы.
Запишите номер платформы, на которой сделана выгрузка (Справка → О программе). Загружать .dt нужно на платформу с номером не ниже этого. На более старой загрузка завершится ошибкой.
Во время выгрузки лучше, чтобы в базе никто не работал: изменения, внесённые в процессе, могут не попасть в файл или попасть частично. Ночью или в обед — самое удобное время.
Выгрузка из командной строки
Тот же результат даёт пакетный запуск Конфигуратора. Ключ /DumpIB выгружает базу, /Out пишет журнал:
"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Admin" /P "pass" /DumpIB "E:\Backup\Buh.dt" /Out "E:\Backup\dump.log"
Для серверной базы вместо /F укажите /S "srv1c\buh" (имя сервера и имя базы в кластере). Номер версии в пути замените на свой.
Способ 3. Копия базы 1С на MS SQL Server и PostgreSQL
В клиент-серверном варианте данные хранятся в СУБД. Правильная копия — штатный бэкап этой СУБД. Он делается без остановки работы и в разы быстрее выгрузки .dt.
MS SQL Server
Через SQL Server Management Studio: правый клик по базе → Tasks → Back Up (в русской версии — Задачи → Создать резервную копию), тип Full, путь к файлу .bak.
То же самое запросом:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;
COMPRESSION поддерживается не во всех редакциях SQL Server. Если запрос вернул ошибку на этом параметре — уберите его.
Если у базы модель восстановления Full, добавьте бэкап журнала транзакций каждые 30–60 минут. Это позволит восстановиться на любой момент дня, а не только на прошлую ночь:
BACKUP LOG [buh] TO DISK = N'E:\Backup\buh_log.trn';
PostgreSQL
Для PostgreSQL копию снимает утилита pg_dump. Формат -Fc — сжатый, из него потом восстанавливают через pg_restore:
pg_dump -U postgres -h localhost -Fc -f /backup/buh_$(date +%F).backup buh
Для Windows команда та же, только путь к pg_dump.exe указывают полностью (папка bin установленного PostgreSQL), а дату подставляют иначе.
Имя базы в СУБД не всегда совпадает с именем в кластере 1С. Его видно в консоли администрирования серверов 1С: свойства информационной базы → поле с именем базы данных.
Как автоматизировать резервное копирование базы 1С
Ручные копии забывают делать. Через месяц выясняется, что последняя — трёхнедельной давности. Поэтому копию ставят на расписание.
Файловая база: bat-скрипт и Планировщик заданий Windows
Скрипт выгружает .dt с датой в имени и удаляет копии старше 30 дней:
@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
set V8="C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe"
%V8% DESIGNER /F "D:\Bases\Buh" /N "Admin" /P "pass" /DumpIB "E:\Backup\Buh_%D%.dt" /Out "E:\Backup\log_%D%.txt"
forfiles /p "E:\Backup" /m *.dt /d -30 /c "cmd /c del @path"
Строка с датой рассчитана на русский формат ДД.ММ.ГГГГ. Если имя пользователя 1С написано кириллицей, сохраните bat-файл в кодировке OEM 866, иначе Конфигуратор не найдёт пользователя. Проще завести для копирования отдельного пользователя с латинским именем.
Настройка в Планировщике:
- Откройте
taskschd.msc→Создать задачу. - На вкладке «Общие» включите «Выполнять для всех пользователей».
- Триггер — ежедневно в 2:00.
- Действие — запуск bat-файла.
- На следующее утро проверьте файл журнала: там должно быть сообщение об успешной выгрузке.
Серверная база
- 🗄️ MS SQL Server Standard и выше — план обслуживания (Maintenance Plan) с полным бэкапом ночью и бэкапом журнала днём; запускает его SQL Server Agent.
- 🆓 SQL Server Express не имеет Agent — запрос
BACKUP DATABASEзапускают черезsqlcmdиз Планировщика Windows. - 🐘 PostgreSQL на Linux —
pg_dumpвcron, например0 2 * * *; на Windows — через Планировщик.
Раз в неделю добавьте выгрузку .dt тем же скриптом: она не зависит от версии СУБД и пригодится, если сервер придётся поднимать заново.
Типичные ошибки при копировании базы 1С
- ❌ Копия лежит на том же диске, что и база. Диск умер — пропали обе. Шифровальщик тоже зашифрует обе.
- ❌ Копию ни разу не проверяли. Файл есть, но не загружается: выгрузка оборвалась, а журнал никто не читал.
- ❌ Пароль в bat-файле от администратора 1С с полными правами, файл в общей папке. Его прочитает любой сотрудник.
- ❌ Только
.dtдля базы на 100 ГБ. Выгрузка идёт полночи, восстановление — ещё дольше. Для больших баз основа — бэкап СУБД. - ❌ Не записали версию платформы. Через год
.dtне загружается на старой машине, а нужная версия платформы не установлена. - ❌ Копировали папку с базой «на лету» через синхронизацию облачного диска. Облачный клиент копирует файл, пока 1С в него пишет.
Как восстановить базу 1С из резервной копии
Перед восстановлением сохраните текущее состояние базы, даже если она «сломана». Может оказаться, что часть свежих документов есть только в ней.
Из копии папки (файловая база)
- Все пользователи выходят из программы.
- Переименуйте текущую папку базы, например в
Buh_broken. - Скопируйте папку из копии на её место под старым именем.
- Запустите 1С и проверьте последние документы.
Из файла .dt
- Откройте базу в Конфигураторе. Для проверки копии лучше создать новую пустую базу и загружать в неё.
- Меню
Администрирование → Загрузить информационную базу, выберите файл.dt. - Подтвердите замену. Загрузка полностью заменяет данные и конфигурацию той базы, в которую вы загружаете.
- После загрузки программа может запросить обновление — согласитесь и дождитесь окончания.
Для загрузки нужен монопольный доступ: в базе не должно быть других сеансов. Из командной строки то же самое делает ключ /RestoreIB "путь\к\файлу.dt".
Из бэкапа СУБД
- MS SQL: в Management Studio — восстановление базы данных из устройства, файл
.bak, затем по порядку журналы.trn, если они есть. - PostgreSQL: создайте пустую базу и выполните
pg_restore -U postgres -d buh_restore /backup/buh.backup.
Восстанавливать поверх рабочей серверной базы можно только после того, как завершены все сеансы 1С. Пользователи потеряют несохранённые данные — предупредите их заранее и выберите время, когда в базе никто не работает. Для проверки копии восстанавливайте в базу с другим именем и подключайте её в кластер как отдельную.
Где хранить копии базы 1С и как их защитить
Хорошая копия — та, что пережила ту же беду, что и рабочая база. Простое правило «3-2-1»:
- 3️⃣ три экземпляра данных: рабочая база и две копии;
- 2️⃣ на двух разных носителях: например, второй диск сервера и сетевое хранилище;
- 1️⃣ одна копия вне офиса: облачное хранилище или внешний диск, который увозят домой.
Срок хранения задайте так:
| Копия | Сколько хранить |
|---|---|
| Ежедневная | 14–30 дней |
| Еженедельная | 2–3 месяца |
| На конец месяца | 12 месяцев |
| На конец года (после закрытия) | 5 лет и дольше |
В базе 1С есть персональные данные сотрудников и контрагентов: паспорта, СНИЛС, зарплаты. Копия — такая же база, и закон о персональных данных требует её защищать. Архивируйте копии с паролем (7-Zip, AES-256) и ограничьте права на папку с копиями одним-двумя людьми.
От шифровальщиков спасает копия, к которой нет постоянного доступа с рабочих компьютеров: отключаемый диск, хранилище с версиями файлов или облако, где удалённые файлы можно вернуть.
Частые вопросы
Как часто снимать копию базы 1С?
Можно ли открыть файл .dt без 1С?
Подходит ли копия базы для переноса на другой компьютер?
Сколько места занимает копия?
Делать ли копию, если база в облаке 1С:Фреш или у провайдера?
Источники
- Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учете»
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»