К статье
Практический материал

Администрирование · 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. Такой файл удобен для переноса базы, передачи копии разработчику и хранения периодических архивов.

Порядок выгрузки в .dt
  1. 1
    Завершите работу всех пользователей: в конфигураторе откройте «Администрирование → Активные пользователи» и попросите всех выйти, либо завершите сеансы принудительно.
  2. 2
    Откройте базу в режиме «Конфигуратор» под пользователем с полными правами.
  3. 3
    Выберите меню «Администрирование → Выгрузить информационную базу».
  4. 4
    Укажите путь и имя файла с расширением .dt, например trade_2026.dt, и подтвердите выгрузку.
  5. 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. Пример команды для выгрузки базы в файл:

bash
pg_dump -U postgres -F c -f /backup/trade_$(date +%Y%m%d).dump trade

Ключевое ограничение: бэкап SQL-базы не содержит настроек кластера 1С и регистрации базы в консоли, поэтому при восстановлении на новом сервере базу нужно будет заново зарегистрировать в кластере 1С. Также помните, что восстановление .bak или дампа в существующую базу перезапишет её данные — перед восстановлением снимите копию текущего состояния.

Автоматизация: скрипты и планировщик заданий

Ручное копирование рано или поздно забывается, поэтому резервное копирование нужно автоматизировать. Для файловой базы достаточно bat-файла, который запускает конфигуратор в пакетном режиме выгрузки, и планировщика заданий Windows. Пример команды выгрузки:

bash
"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.

Обязательно настройте ротацию: храните ежедневные копии за последнюю неделю, еженедельные — за месяц, ежемесячные — дольше. Иначе диск архива переполнится, и новые копии перестанут создаваться — причём молча, без видимых ошибок для пользователей.

Типичные ошибки
01
Хранение копий на том же диске, что и база: при отказе диска теряются и база, и архив.
02
Отсутствие проверки восстановления: копия создаётся, но оказывается битой именно в момент аварии.
03
Копирование файловой базы при работающих пользователях — копия получается несогласованной.
04
Хранение пароля администратора в bat-файле в открытом виде без ограничения доступа к файлу.
05
Отсутствие ротации: диск переполняется, и новые копии перестают писаться.

Как проверить, что копия рабочая

Проверка копии — обязательная часть процедуры, а не опция. Для файла .dt проверка проста: создайте пустую базу в списке информационных баз, откройте её конфигуратором и выполните «Администрирование → Загрузить информационную базу», указав файл копии. Если база загрузилась и открывается в режиме предприятия, копия в порядке.

Для файловой копии 1Cv8.1CD добавьте каталог с копией как новую базу в список и запустите её. Для SQL-бэкапа восстановите копию в базу с тестовым именем на том же или отдельном сервере и подключите её через консоль кластера. Проверку достаточно выполнять раз в месяц и обязательно после изменения процедуры копирования.

Контрольные точки

Как проверить результат

Файл копии создан
Норма

Размер файла сопоставим с размером базы, дата изменения — сегодняшняя

Тревожный признак

Файл отсутствует, нулевого размера или с старой датой

Загрузка .dt в тестовую базу
Норма

База загружается без ошибок и открывается в режиме предприятия

Тревожный признак

Ошибка формата потока или обрыв загрузки

Данные в восстановленной копии
Норма

Отчёты и документы за последние даты на месте

Тревожный признак

Отсутствуют свежие документы, ошибки при открытии журналов

Где и как хранить резервные копии

Рабочее правило — «3-2-1»: минимум три копии данных, на двух разных носителях, одна — вне офиса или основного сервера. На практике это означает: локальная копия на сервере для быстрого восстановления, копия на NAS или отдельном компьютере и копия в облачном хранилище или на выносном диске.

Учтите защиту от шифровальщиков: если папка архива доступна по сети с правами записи с рабочих станций, вирус зашифрует и базу, и архив. Настройте запись копий под отдельной учётной записью, недоступной пользователям, либо используйте хранилище с неизменяемыми (immutable) снапшотами.

Сравнение способов копирования

Выгрузка .dt

Универсально, подходит для переноса и обмена; медленно на больших базах, требует монопольного доступа.

Копирование 1Cv8.1CD

Быстро и просто для файловых баз; требует полного выхода пользователей, не подходит для клиент-серверных.

Бэкап средствами СУБД

Надёжно и не останавливает работу; требует навыков администрирования SQL и отдельной регистрации базы при восстановлении.

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

Можно ли делать копию, пока пользователи работают в базе?

Выгрузка .dt и копирование файла 1Cv8.1CD требуют монопольного доступа — пользователи должны выйти. А вот бэкап клиент-серверной базы средствами MS SQL или pg_dump выполняется «на горячую», без остановки работы, и это одно из главных преимуществ клиент-серверного варианта.

Чем отличается выгрузка .dt от копии файла базы?

Файл .dt создаётся штатными средствами платформы и подходит для переноса базы между компьютерами и типами развёртывания. Копия 1Cv8.1CD — это побайтовый слепок файловой базы: восстанавливается быстрее, но привязана к файловому формату. Для долгосрочного архива чаще используют .dt.

Как часто нужно делать резервные копии?

Ориентируйтесь на допустимую потерю данных: если потеря одного рабочего дня критична, делайте копию ежедневно, при интенсивном вводе документов — дважды в день. Минимальный разумный режим для активно используемой базы — ежедневная автоматическая копия плюс ручная копия перед каждым обновлением конфигурации.

Нужна ли копия перед обновлением конфигурации?

Да, обязательно. Обновление изменяет структуру данных, и откат без копии невозможен. Перед обновлением сделайте выгрузку .dt или бэкап SQL-базы и убедитесь, что файл копии создан полностью. Это займёт несколько минут, но позволит вернуть базу в исходное состояние при любой ошибке обновления.

База не открывается, а копия оказалась битой. Что делать?

Сначала проверьте более старые копии из архива ротации. Если рабочих копий нет, файловую базу можно попробовать восстановить утилитой chdbfl.exe из каталога платформы и штатным «Тестированием и исправлением» в конфигураторе. Для SQL-баз используйте средства проверки целостности СУБД. Чтобы не оказаться в такой ситуации, проверяйте копии восстановлением регулярно.

Можно ли хранить резервные копии 1С в облаке?

Да, это удобный способ выполнить требование внешней копии. Учитывайте, что база содержит персональные и коммерческие данные, поэтому используйте шифрование архива и ограничьте доступ к хранилищу. Также проверьте скорость канала: выгрузка многогигабайтной копии в облако может занять часы.

Итог

Что важно запомнить

Определите тип базы, выберите подходящий способ копирования (.dt, копия файла или бэкап СУБД), автоматизируйте процесс и храните копии на отдельном носителе. Регулярно проверяйте копии восстановлением — только проверенная копия является настоящей резервной копией.