Резервные копии базы 1С: файловый режим, SQL Server, PostgreSQL и автоматизация
Содержание
Самый простой способ сохранить базу
данных 1С — выгрузить её в файл .dt через конфигуратор: Администрирование → Выгрузить информационную базу. Для файловой базы есть и второй способ: скопировать файл 1Cv8.1CD, когда в базе никто не работает
. Для клиент-серверной базы основной метод резервного копирования — штатный бэкап СУБД (SQL Server или PostgreSQL), а .dt идёт как дополнительная, переносимая копия.
Ниже разобраны все безопасные методы: какие команды запускать, как настроить расписание, сколько копий хранить и на чём чаще всего теряют данные.
С чего начать: где лежит база и какой режим работы
Метод сохранения зависит от того, как устроена база. Это видно в окне запуска 1С: выделите базу в списке — внизу окна появится строка подключения.
- 📁
File="D:\Bases\Buh"— файловая база. Все данные лежат в одном файле1Cv8.1CDв этой папке. - 🖥️
Srvr="server01";Ref="buh"— клиент-серверная база. Данные хранятся в СУБД на сервере, а на компьютере пользователя ничего нет.
Для клиент-серверной базы дополнительно узнайте у администратора, какая СУБД используется: Microsoft SQL Server или PostgreSQL. Это видно в консоли администрирования серверов 1С, в свойствах информационной базы (поле «Тип СУБД»).
Три способа сохранить базу 1С
| Способ | Где работает | Плюсы | Минусы |
|---|---|---|---|
Выгрузка .dt | любая база | один файл, загружается в любой режим и любую СУБД | долго на больших базах, нужен пароль администратора 1С |
Копия 1Cv8.1CD | только файловая | быстро, без конфигуратора | только когда в базе нет сеансов |
Бэкап СУБД (.bak, дамп) | клиент-серверная | быстро, без остановки работы, есть восстановление на момент времени | восстанавливается только в ту же СУБД |
Для рабочей базы держите минимум два вида копий: регулярный бэкап штатным способом и периодическую выгрузку .dt. Если один формат подведёт, останется второй.
Резервное копирование файловой базы 1С
У файловой базы два пути: скопировать файл целиком или выгрузить .dt. Копия файла получается быстрее, но у неё жёсткое условие.
Копирование файла 1Cv8.1CD
Копировать 1Cv8.1CD можно только тогда, когда в базе нет ни одного открытого сеанса. Если кто-то проводит документ в момент копирования, вы получите файл, который потом может не открыться или откроется с ошибками структуры.
Порядок действий:
- Попросите всех пользователей выйти из базы. Проверить, что никого нет, можно в режиме «Предприятие»:
Администрирование → Обслуживание → Активные пользователи. - Убедитесь, что в папке базы нет файла
1Cv8tmp.1CDи нет активных процессов1cv8.exeна этом компьютере (для общей сетевой папки — на всех компьютерах). - Скопируйте всю папку базы, а не только
1Cv8.1CD: рядом лежат файлы сеансов и логов (1Cv8Log), они пригодятся для расследований. - Упакуйте копию архиватором —
.1CDхорошо сжимается, обычно в 5–10 раз.
Встроенная обработка в типовых конфигурациях
В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Там можно сделать копию вручную или задать расписание.
Ограничения у этого механизма серьёзные:
- ⚠️ работает только для файловых баз;
- ⚠️ копия делается, пока открыт клиент 1С на этом компьютере, — если программу никто не запускает, расписание не сработает;
- ⚠️ при создании копии программа завершает сеансы других пользователей.
Для одного бухгалтера на ноутбуке этого достаточно. Для базы, с которой работают 5–10 человек, лучше настроить скрипт на сервере (см. раздел про автоматизацию).
Выгрузка базы в .dt через конфигуратор
Файл .dt — это универсальная выгрузка: конфигурация, данные, пользователи и настройки в одном архиве. Его можно загрузить в пустую базу на другом компьютере, перенести файловую базу
на SQL и обратно.
Пошагово
- Запустите 1С в режиме «Конфигуратор» под пользователем с правами администратора.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла. Удобный формат имени:
buh_2026-10-07_1830.dt. - Нажмите «Сохранить» и дождитесь сообщения о завершении выгрузки.
Время зависит от размера: база 2 ГБ выгружается за несколько минут, база 50 ГБ — может занять час и больше.
Выгружайте .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 укажите сервер и имя базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S "server01\buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh.dt" /Out "E:\Backup\dump.log"
Путь к 1cv8.exe подставьте свой — номер платформы в папке совпадает с установленной версией. Параметр /Out пишет результат в лог: по нему скрипт и вы сами узнаете, прошла ли выгрузка.
Если в базе висят сеансы, а выгрузку делать надо, администратор может заблокировать начало сеансов: Администрирование → Обслуживание → Блокировка работы пользователей. Установите код разрешения и запускайте конфигуратор с ключом /UC <код>. Предупредите пользователей заранее: при блокировке их сеансы будут завершены, а несохранённые документы потеряются.
Чем .dt не заменяет полноценный бэкап
- 📌 нет восстановления на момент времени — только на момент выгрузки;
- 📌 выгрузка больших баз идёт часами, делать её каждый день неудобно;
- 📌 при загрузке
.dtбаза полностью заменяется, и для неё нужен монопольный доступ.
Бэкап базы 1С на SQL Server
Для клиент-серверной базы на Microsoft SQL Server основной способ — штатный бэкап самой СУБД. Он делается без остановки работы пользователей: SQL Server гарантирует согласованность копии.
Ручной бэкап в SQL Server Management Studio
- Откройте SSMS, подключитесь к серверу.
- В дереве
Databasesнажмите правой кнопкой по базе 1С →Tasks → Back Up…. - Тип бэкапа —
Full, назначение — файл на диске, напримерE:\Backup\buh.bak. - На вкладке параметров включите сжатие (
Compress backup), если редакция его поддерживает.
То же самое одной командой:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_full.bak'
WITH COMPRESSION, CHECKSUM, INIT, STATS = 10;
CHECKSUM заставляет сервер проверять страницы при записи, INIT перезаписывает файл, STATS = 10 показывает прогресс каждые 10%.
Модель восстановления: Simple или Full
| Модель | Что даёт | Когда выбирать |
|---|---|---|
| Simple | восстановление только на момент полного бэкапа | небольшие базы, потеря дня работы допустима |
| Full | восстановление на любой момент, если есть бэкапы журнала | базы, где потерять даже час работы дорого |
При модели Full нужно регулярно делать бэкап журнала транзакций — например, каждые 15–60 минут:
BACKUP LOG [buh]
TO DISK = N'E:\Backup\buh_log_202610071200.trn'
WITH COMPRESSION, CHECKSUM;
Если перевести базу в Full и не настроить бэкап журнала, файл .ldf будет расти, пока не займёт весь диск. После этого база перестанет принимать изменения.
Проверка копии
Убедиться, что файл читается, можно командой:
RESTORE VERIFYONLY FROM DISK = N'E:\Backup\buh_full.bak' WITH CHECKSUM;
Это проверяет целостность файла, но не гарантирует, что база поднимется и откроется в 1С. Полную проверку даёт только пробное восстановление (о нём ниже).
Сохранение базы 1С на PostgreSQL
Для PostgreSQL используется утилита pg_dump. Формат -Fc (custom) сжат и позволяет восстановить базу через pg_restore:
pg_dump -U postgres -h localhost -Fc -f /backup/buh_2026-10-07.dump buh
Восстановление в новую пустую базу:
createdb -U postgres buh_test
pg_restore -U postgres -d buh_test /backup/buh_2026-10-07.dump
Пароль не пишите в скрипт открытым текстом: для пользователя, от имени которого идёт задание, используйте файл .pgpass (в Windows — %APPDATA%\postgresql\pgpass.conf).
Для 1С используют сборки PostgreSQL с патчами для 1С. Восстанавливайте дамп на сервер с той же или более новой основной версией PostgreSQL — иначе pg_restore может отказаться читать файл.
Автоматизация резервного копирования 1С по расписанию
Ручные копии делают первые две недели, а потом забывают. Поэтому сохранение базы стоит поставить на расписание.
SQL Server: план обслуживания или Планировщик задач
- В редакциях Standard и Enterprise есть SQL Server Agent: в SSMS создайте план обслуживания (
Management → Maintenance Plans) с задачами полного бэкапа, бэкапа журнала и очистки старых файлов. - В бесплатной Express агента нет. Сохраните T-SQL-скрипт в файл и запускайте его через Планировщик заданий Windows:
sqlcmd -S localhost\SQLEXPRESS -E -i "C:\Scripts\backup_buh.sql" -o "C:\Scripts\backup_buh.log"
Ключ -E использует Windows-аутентификацию — пароль в скрипт не попадает.
Файловая база: bat-скрипт с выгрузкой и архивированием
Пример ночного задания для файловой базы: выгрузить .dt, сжать, удалить архивы старше 30 дней.
@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"
set BASE=D:\Bases\Buh
set OUT=E:\Backup\Buh
%EXE% DESIGNER /F "%BASE%" /N "backup" /P "пароль" /DumpIB "%OUT%\buh_%D%.dt" /Out "%OUT%\buh_%D%.log"
"C:\Program Files\7-Zip\7z.exe" a "%OUT%\buh_%D%.7z" "%OUT%\buh_%D%.dt" && del "%OUT%\buh_%D%.dt"
forfiles /p "%OUT%" /m *.7z /d -30 /c "cmd /c del @path"
Формат даты в %date% зависит от региональных настроек Windows — проверьте, что %D% даёт строку вида 2026-10-07, выполнив echo %D% в консоли.
Для задания создайте в 1С отдельного пользователя backup с правами администратора и сложным паролем. Сам bat-файл храните в папке, доступной только администраторам сервера.
Задание в Планировщике Windows
- Откройте
taskschd.msc→ «Создать задачу ». - На вкладке «Общие» включите «Выполнять для всех пользователей» и «С наивысшими правами».
- Триггер — ежедневно, в нерабочее время (например, 02:00).
- Действие — запуск вашего
.batилиsqlcmd. - Через день проверьте, что в папке появились файлы и в логе нет ошибок.
Хранение и ротация архивных копий базы данных
Копия, которая лежит на том же диске, что и база, защищает только от ошибки пользователя. Сгорит диск или зашифрует вирус — пропадёт и база, и бэкап.
Правило 3-2-1
- 📦 3 копии данных: рабочая база и ещё две;
- 💽 2 разных носителя: например, второй диск сервера и сетевое хранилище;
- ☁️ 1 копия вне офиса: облачное хранилище или диск, который увозят домой.
Сколько копий держать
Удобная схема ротации — «дед-отец-сын»:
| Уровень | Как часто | Сколько хранить |
|---|---|---|
| Ежедневные | каждую ночь | 7–14 штук |
| Еженедельные | в воскресенье | 4–5 штук |
| Ежемесячные | 1-го числа | 12 штук |
| Годовые | после закрытия года | бессрочно |
Пример расчёта места: база 5 ГБ, архив .7z около 700 МБ. 14 ежедневных + 5 еженедельных + 12 ежемесячных = 31 архив, примерно 22 ГБ. Закладывайте запас на рост базы — за год она может вырасти в полтора-два раза.
Сетевую папку с копиями не держите постоянно подключённой как диск у пользователей. Шифровальщик, попав на рабочий компьютер, зашифрует всё, до чего дотянется, включая бэкапы.
Пробное восстановление
Раз в месяц разворачивайте свежую копию в тестовую базу:
- Создайте новую пустую информационную базу (файловую или на сервере, с другим именем).
- Загрузите в неё
.dt(Администрирование → Загрузить информационную базув конфигураторе) или восстановите.bak/ дамп в отдельную базу СУБД. - Откройте базу в режиме «Предприятие», сформируйте оборотно-сальдовую ведомость за последний месяц и сверьте итоги с рабочей базой.
Восстанавливайте копию только в новую базу с другим именем, не поверх рабочей. Иначе одна неверная галочка заменит актуальные данные вчерашними.
Частые ошибки при сохранении базы 1С
.dt; новые копии файла делайте только без активных сеансов.Ещё несколько ошибок, которые не дают сообщений, но обнуляют смысл копий:
- 🚫 копии на том же диске, что и база — нет защиты от отказа диска и шифровальщика;
- 🚫 пароль администратора 1С открытым текстом в bat-файле в общей папке — по сути, публичный доступ к базе;
- 🚫 после обновления платформы скрипт смотрит на старую папку
bin— задание тихо падает неделями; - 🚫 никто не читает логи — о том, что копий нет месяц, узнают в день аварии.
Частые вопросы
Можно ли просто скопировать папку с файловой базой?
Как сохранить базу 1С, если нет пароля администратора?
.dt требует прав администратора 1С. Для файловой базы можно скопировать 1Cv8.1CD без входа в программу. Для серверной — попросить администратора СУБД сделать бэкап средствами SQL Server или PostgreSQL.Что переносить на новый компьютер — .dt или 1Cv8.1CD?
.dt удобнее при смене платформы или переходе с файлового режима на сервер: он загружается в базу любого типа.Сохраняет ли .dt пользователей и их пароли?
.dt так же, как саму базу.