Администрирование · 10 мин
Резервная копия базы 1С: как сделать и не потерять данные
Как сделать резервную копию базы 1С: выгрузка в dt, бэкап файловой и клиент-серверной базы, автоматизация через скрипты, проверка копии и типичные ошибки.
Резервная копия базы 1С — единственная гарантия того, что при сбое диска, ошибочном обновлении конфигурации или вирусе-шифровальщике вы восстановите данные за минуты, а не недели. Способ копирования зависит от типа базы: файловая база копируется выгрузкой в файл .dt или простым копированием файла 1Cv8.1CD, а клиент-серверная — средствами СУБД (MS SQL, PostgreSQL). Ниже разобраны все рабочие сценарии с точными действиями и проверкой результата.
Главная ошибка, которую совершают чаще всего, — считать резервной копией файл, который никогда не проверяли на восстановление. Копия, из которой база не разворачивается, ценности не имеет. Поэтому в статье отдельно описано, как проверить копию и какие признаки указывают на повреждение.
Какой тип базы у вас: файловая или клиент-серверная
Перед копированием определите, как развёрнута база. Откройте список информационных баз в окне запуска 1С, выделите нужную базу и посмотрите строку подключения внизу окна. Если там указан путь к папке на диске или сетевом ресурсе (например, D:\Bases\Trade\) — это файловая база. Если указан сервер и имя базы вида Srvr="server1";Ref="trade"; — база клиент-серверная, и работать с ней нужно через СУБД.
От типа базы зависит и надёжность копии. Файловую базу при активной работе пользователей нельзя копировать простым копированием файла — файл 1Cv8.1CD может оказаться в несогласованном состоянии. Клиент-серверную базу вообще нельзя копировать на уровне файлов данных SQL-сервера без остановки службы или штатных средств СУБД.
Выгрузка базы 1С в файл .dt через конфигуратор
Универсальный способ, который работает и для файловой, и для клиент-серверной базы, — выгрузка в файл .dt. Такой файл удобен для переноса базы, передачи копии разработчику и хранения периодических архивов.
- 1Завершите работу всех пользователей: в конфигураторе откройте «Администрирование → Активные пользователи» и попросите всех выйти, либо завершите сеансы принудительно.
- 2Откройте базу в режиме «Конфигуратор» под пользователем с полными правами.
- 3Выберите меню «Администрирование → Выгрузить информационную базу».
- 4Укажите путь и имя файла с расширением .dt, например trade_2026.dt, и подтвердите выгрузку.
- 5Дождитесь окончания процесса и убедитесь, что файл создан и его размер не равен нулю.
Во время выгрузки база блокируется для других пользователей, поэтому большие базы выгружайте в нерабочее время. Длительность зависит от размера: база в несколько гигабайт может выгружаться десятки минут. Не прерывайте процесс — недописанный файл .dt будет непригоден.
Копирование файловой базы на уровне файлов
Файловая база целиком хранится в одном файле — 1Cv8.1CD в каталоге базы. Самый быстрый способ резервного копирования — скопировать этот файл, но только при условии, что ни один пользователь не работает с базой, включая фоновые сеансы и открытые окна запуска.
Чтобы убедиться, что база свободна, проверьте отсутствие файла 1Cv8.1CL в каталоге базы — это файл блокировок, который существует, пока есть активные соединения. После этого скопируйте 1Cv8.1CD в папку архива, добавив в имя копии дату. Такой способ быстрее выгрузки .dt, но копия требует чуть больше места и не включает «сжатие» данных.
Никогда не копируйте файл базы, пока с ней работают пользователи: в момент копирования часть страниц данных может измениться, и копия окажется физически повреждённой. Признаки такой копии — ошибки при открытии, «битые» документы, невозможность провести тестирование и исправление.
Резервное копирование клиент-серверной базы через СУБД
Для баз на MS SQL Server штатный способ — создание резервной копии средствами SQL Server Management Studio (SSMS). Подключитесь к серверу, найдите нужную базу, щёлкните правой кнопкой и выберите «Задачи → Создать резервную копию» (Tasks → Back Up). Укажите тип Full и путь к файлу .bak. Полная копия не требует остановки работы пользователей — SQL Server создаёт согласованный снимок.
Для PostgreSQL используется утилита pg_dump. Пример команды для выгрузки базы в файл:
pg_dump -U postgres -F c -f /backup/trade_$(date +%Y%m%d).dump tradeКлючевое ограничение: бэкап SQL-базы не содержит настроек кластера 1С и регистрации базы в консоли, поэтому при восстановлении на новом сервере базу нужно будет заново зарегистрировать в кластере 1С. Также помните, что восстановление .bak или дампа в существующую базу перезапишет её данные — перед восстановлением снимите копию текущего состояния.
Автоматизация: скрипты и планировщик заданий
Ручное копирование рано или поздно забывается, поэтому резервное копирование нужно автоматизировать. Для файловой базы достаточно bat-файла, который запускает конфигуратор в пакетном режиме выгрузки, и планировщика заданий Windows. Пример команды выгрузки:
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\trade_%date:~6,4%%date:~3,2%%date:~0,2%.dt" /DisableStartupDialogsСоздайте задачу в планировщике Windows на ночное время, когда пользователи не работают, и настройте запуск от имени учётной записи с доступом к каталогу базы и папке архива. Для клиент-серверных баз аналогично автоматизируйте бэкап через планы обслуживания SQL Server или cron-задание с pg_dump.
Обязательно настройте ротацию: храните ежедневные копии за последнюю неделю, еженедельные — за месяц, ежемесячные — дольше. Иначе диск архива переполнится, и новые копии перестанут создаваться — причём молча, без видимых ошибок для пользователей.
Как проверить, что копия рабочая
Проверка копии — обязательная часть процедуры, а не опция. Для файла .dt проверка проста: создайте пустую базу в списке информационных баз, откройте её конфигуратором и выполните «Администрирование → Загрузить информационную базу», указав файл копии. Если база загрузилась и открывается в режиме предприятия, копия в порядке.
Для файловой копии 1Cv8.1CD добавьте каталог с копией как новую базу в список и запустите её. Для SQL-бэкапа восстановите копию в базу с тестовым именем на том же или отдельном сервере и подключите её через консоль кластера. Проверку достаточно выполнять раз в месяц и обязательно после изменения процедуры копирования.
Как проверить результат
Размер файла сопоставим с размером базы, дата изменения — сегодняшняя
Файл отсутствует, нулевого размера или с старой датой
База загружается без ошибок и открывается в режиме предприятия
Ошибка формата потока или обрыв загрузки
Отчёты и документы за последние даты на месте
Отсутствуют свежие документы, ошибки при открытии журналов
Где и как хранить резервные копии
Рабочее правило — «3-2-1»: минимум три копии данных, на двух разных носителях, одна — вне офиса или основного сервера. На практике это означает: локальная копия на сервере для быстрого восстановления, копия на NAS или отдельном компьютере и копия в облачном хранилище или на выносном диске.
Учтите защиту от шифровальщиков: если папка архива доступна по сети с правами записи с рабочих станций, вирус зашифрует и базу, и архив. Настройте запись копий под отдельной учётной записью, недоступной пользователям, либо используйте хранилище с неизменяемыми (immutable) снапшотами.
Сравнение способов копирования
Универсально, подходит для переноса и обмена; медленно на больших базах, требует монопольного доступа.
Быстро и просто для файловых баз; требует полного выхода пользователей, не подходит для клиент-серверных.
Надёжно и не останавливает работу; требует навыков администрирования SQL и отдельной регистрации базы при восстановлении.
Частые вопросы о резервных копиях 1С
Можно ли делать копию, пока пользователи работают в базе?
Выгрузка .dt и копирование файла 1Cv8.1CD требуют монопольного доступа — пользователи должны выйти. А вот бэкап клиент-серверной базы средствами MS SQL или pg_dump выполняется «на горячую», без остановки работы, и это одно из главных преимуществ клиент-серверного варианта.
Чем отличается выгрузка .dt от копии файла базы?
Файл .dt создаётся штатными средствами платформы и подходит для переноса базы между компьютерами и типами развёртывания. Копия 1Cv8.1CD — это побайтовый слепок файловой базы: восстанавливается быстрее, но привязана к файловому формату. Для долгосрочного архива чаще используют .dt.
Как часто нужно делать резервные копии?
Ориентируйтесь на допустимую потерю данных: если потеря одного рабочего дня критична, делайте копию ежедневно, при интенсивном вводе документов — дважды в день. Минимальный разумный режим для активно используемой базы — ежедневная автоматическая копия плюс ручная копия перед каждым обновлением конфигурации.
Нужна ли копия перед обновлением конфигурации?
Да, обязательно. Обновление изменяет структуру данных, и откат без копии невозможен. Перед обновлением сделайте выгрузку .dt или бэкап SQL-базы и убедитесь, что файл копии создан полностью. Это займёт несколько минут, но позволит вернуть базу в исходное состояние при любой ошибке обновления.
База не открывается, а копия оказалась битой. Что делать?
Сначала проверьте более старые копии из архива ротации. Если рабочих копий нет, файловую базу можно попробовать восстановить утилитой chdbfl.exe из каталога платформы и штатным «Тестированием и исправлением» в конфигураторе. Для SQL-баз используйте средства проверки целостности СУБД. Чтобы не оказаться в такой ситуации, проверяйте копии восстановлением регулярно.
Можно ли хранить резервные копии 1С в облаке?
Да, это удобный способ выполнить требование внешней копии. Учитывайте, что база содержит персональные и коммерческие данные, поэтому используйте шифрование архива и ограничьте доступ к хранилищу. Также проверьте скорость канала: выгрузка многогигабайтной копии в облако может занять часы.
Что важно запомнить
Определите тип базы, выберите подходящий способ копирования (.dt, копия файла или бэкап СУБД), автоматизируйте процесс и храните копии на отдельном носителе. Регулярно проверяйте копии восстановлением — только проверенная копия является настоящей резервной копией.