Резервные копии базы 1С: файловый режим, SQL Server, PostgreSQL и автоматизация

· 11 мин

Содержание

Самый простой способ сохранить базу данных 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 можно только тогда, когда в базе нет ни одного открытого сеанса. Если кто-то проводит документ в момент копирования, вы получите файл, который потом может не открыться или откроется с ошибками структуры.

Порядок действий:

  1. Попросите всех пользователей выйти из базы. Проверить, что никого нет, можно в режиме «Предприятие»: Администрирование → Обслуживание → Активные пользователи.
  2. Убедитесь, что в папке базы нет файла 1Cv8tmp.1CD и нет активных процессов 1cv8.exe на этом компьютере (для общей сетевой папки — на всех компьютерах).
  3. Скопируйте всю папку базы, а не только 1Cv8.1CD: рядом лежат файлы сеансов и логов (1Cv8Log), они пригодятся для расследований.
  4. Упакуйте копию архиватором — .1CD хорошо сжимается, обычно в 5–10 раз.

Встроенная обработка в типовых конфигурациях

В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Там можно сделать копию вручную или задать расписание.

Ограничения у этого механизма серьёзные:

  • ⚠️ работает только для файловых баз;
  • ⚠️ копия делается, пока открыт клиент 1С на этом компьютере, — если программу никто не запускает, расписание не сработает;
  • ⚠️ при создании копии программа завершает сеансы других пользователей.

Для одного бухгалтера на ноутбуке этого достаточно. Для базы, с которой работают 5–10 человек, лучше настроить скрипт на сервере (см. раздел про автоматизацию).

Выгрузка базы в .dt через конфигуратор

Файл .dt — это универсальная выгрузка: конфигурация, данные, пользователи и настройки в одном архиве. Его можно загрузить в пустую базу на другом компьютере, перенести файловую базу на SQL и обратно.

Пошагово

  1. Запустите 1С в режиме «Конфигуратор» под пользователем с правами администратора.
  2. Откройте меню Администрирование → Выгрузить информационную базу.
  3. Укажите папку и имя файла. Удобный формат имени: buh_2026-10-07_1830.dt.
  4. Нажмите «Сохранить» и дождитесь сообщения о завершении выгрузки.

Время зависит от размера: база 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

  1. Откройте SSMS, подключитесь к серверу.
  2. В дереве Databases нажмите правой кнопкой по базе 1С → Tasks → Back Up….
  3. Тип бэкапа — Full, назначение — файл на диске, например E:\Backup\buh.bak.
  4. На вкладке параметров включите сжатие (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

  1. Откройте taskschd.msc → «Создать задачу ».
  2. На вкладке «Общие» включите «Выполнять для всех пользователей» и «С наивысшими правами».
  3. Триггер — ежедневно, в нерабочее время (например, 02:00).
  4. Действие — запуск вашего .bat или sqlcmd.
  5. Через день проверьте, что в папке появились файлы и в логе нет ошибок.
Расписание копий настроено, если…
Выполнено: 0 / 6

Хранение и ротация архивных копий базы данных

Копия, которая лежит на том же диске, что и база, защищает только от ошибки пользователя. Сгорит диск или зашифрует вирус — пропадёт и база, и бэкап.

Правило 3-2-1

  • 📦 3 копии данных: рабочая база и ещё две;
  • 💽 2 разных носителя: например, второй диск сервера и сетевое хранилище;
  • ☁️ 1 копия вне офиса: облачное хранилище или диск, который увозят домой.

Сколько копий держать

Удобная схема ротации — «дед-отец-сын»:

УровеньКак частоСколько хранить
Ежедневныекаждую ночь7–14 штук
Еженедельныев воскресенье4–5 штук
Ежемесячные1-го числа12 штук
Годовыепосле закрытия годабессрочно

Пример расчёта места: база 5 ГБ, архив .7z около 700 МБ. 14 ежедневных + 5 еженедельных + 12 ежемесячных = 31 архив, примерно 22 ГБ. Закладывайте запас на рост базы — за год она может вырасти в полтора-два раза.

Сетевую папку с копиями не держите постоянно подключённой как диск у пользователей. Шифровальщик, попав на рабочий компьютер, зашифрует всё, до чего дотянется, включая бэкапы.

Пробное восстановление

Раз в месяц разворачивайте свежую копию в тестовую базу:

  1. Создайте новую пустую информационную базу (файловую или на сервере, с другим именем).
  2. Загрузите в неё .dt (Администрирование → Загрузить информационную базу в конфигураторе) или восстановите .bak / дамп в отдельную базу СУБД.
  3. Откройте базу в режиме «Предприятие», сформируйте оборотно-сальдовую ведомость за последний месяц и сверьте итоги с рабочей базой.

Восстанавливайте копию только в новую базу с другим именем, не поверх рабочей. Иначе одна неверная галочка заменит актуальные данные вчерашними.

Частые ошибки при сохранении базы 1С

Диагностика: выберите симптом

Ещё несколько ошибок, которые не дают сообщений, но обнуляют смысл копий:

  • 🚫 копии на том же диске, что и база — нет защиты от отказа диска и шифровальщика;
  • 🚫 пароль администратора 1С открытым текстом в bat-файле в общей папке — по сути, публичный доступ к базе;
  • 🚫 после обновления платформы скрипт смотрит на старую папку bin — задание тихо падает неделями;
  • 🚫 никто не читает логи — о том, что копий нет месяц, узнают в день аварии.

Частые вопросы

Можно ли просто скопировать папку с файловой базой?
Да, если в этот момент в базе нет ни одного сеанса. Копию папки, снятую во время работы, считайте ненадёжной.
Как сохранить базу 1С, если нет пароля администратора?
Выгрузка .dt требует прав администратора 1С. Для файловой базы можно скопировать 1Cv8.1CD без входа в программу. Для серверной — попросить администратора СУБД сделать бэкап средствами SQL Server или PostgreSQL.
Что переносить на новый компьютер — .dt или 1Cv8.1CD?
Для файловой базы подойдёт любой вариант. .dt удобнее при смене платформы или переходе с файлового режима на сервер: он загружается в базу любого типа.
Сохраняет ли .dt пользователей и их пароли?
Да, список пользователей с паролями и правами попадает в выгрузку. Защищайте файл .dt так же, как саму базу.
Нужна ли копия, если база в облаке 1С:Фреш?
Резервные копии делает провайдер сервиса. Но выгрузить данные себе можно и нужно — например, перед крупными изменениями или раз в месяц, на случай расторжения договора.