Как защитить данные 1С: резервные копии файловой и серверной базы

· 9 мин

Содержание

Самый быстрый ручной бэкап файловой базы 1С — выгрузка в .dt: в Конфигураторе откройте Администрирование → Выгрузить информационную базу и сохраните файл. Для клиент-серверной базы копию делают средствами СУБД (MS SQL или PostgreSQL), а не через Конфигуратор. Ниже — оба подхода, расписание, хранение и восстановление резервной копии.

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

Резервное копирование и восстановление — две разные операции. Пока вы не восстановили копию в тестовую базу хотя бы раз, вы не знаете, рабочая она или нет.

Чтобы было видно, где какой способ уместен, сведём их в одну таблицу.

СпособДля какой базыМожно во время работыГлавный риск
Выгрузка .dtфайловая и сервернаянет, нужен монопольный доступдолго на большой базе
Копия каталога с 1Cv8.1CDтолько файловаянет, 1С должна быть закрытабитая копия, если скопировать «на лету»
Бэкап средствами СУБДтолько сервернаяда, снимается на горячуюнужен доступ к SQL или PostgreSQL
Автокопирование из конфигурации (БСП)только файловаяда, по расписанию или при выходене для клиент-сервера

Файловая база: копия каталога или выгрузка в .dt

У файловой базы два рабочих способа, и они не взаимозаменяемы.

Выгрузка в .dt. Это логическая выгрузка всех данных и конфигурации в один сжатый файл.

  1. Запустите базу в режиме Конфигуратор.
  2. Меню Администрирование → Выгрузить информационную базу.
  3. Укажите имя файла — удобно с датой, например buh_2026-11-08.dt.
  4. Дождитесь завершения и проверьте, что файл создан и его размер не нулевой.

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

Копия каталога базы. Второй способ — скопировать папку с файлом 1Cv8.1CD. Путь к каталогу виден в окне запуска 1С в строке под именем базы.

Копируйте весь каталог целиком, а не только 1Cv8.1CD. Рядом лежат служебные файлы (журнал регистрации, кэш), и полная папка восстанавливается без сюрпризов.

Копировать файл базы можно только когда 1С полностью закрыта на всех рабочих местах. Копия, снятая во время работы пользователей, почти наверняка окажется битой — её не получится открыть.

Когда что применять: .dt — для переноса и для архива «на всякий случай», копия каталога — для быстрого ежедневного бэкапа небольшой базы, когда вечером все вышли из программы.

Какой способ бэкапа выбрать под вашу базу?

Клиент-серверная база: бэкап средствами СУБД

Если база работает на сервере 1С, данные физически лежат в СУБД. Снимать .dt через Конфигуратор на большой базе долго и требует выгнать всех пользователей — для регулярного бэкапа это не подходит. Правильная копия делается на стороне СУБД.

MS SQL Server. Резервную копию снимают командой BACKUP DATABASE или планом обслуживания. Пример полной копии:

BACKUP DATABASE [accounting]
TO DISK = N'D:\backup\accounting_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;

Опция CHECKSUM включает контроль целостности при записи, COMPRESSION сжимает файл, INIT перезаписывает существующий. Такой бэкап снимается на работающей базе — пользователям останавливаться не нужно.

При модели восстановления Full дополнительно копируют журнал транзакций — это даёт восстановление на точку во времени (например, за минуту до ошибки оператора). При модели Simple журнал не копируется, и вернуться получится только к моменту последней полной или разностной копии. Для базы 1С с живым документооборотом обычно выбирают Full и копируют журнал в течение дня.

Чтобы не хранить каждый раз полную копию, добавляют разностные (differential) бэкапы: полная копия раз в сутки, разностные — каждые несколько часов. Разностная копия содержит только изменения с последней полной и занимает меньше места.

PostgreSQL. Логическую выгрузку одной базы делают утилитой pg_dump:

pg_dump -U postgres -F c -f /backup/accounting.dump accounting

Флаг -F c создаёт сжатый формат, который потом разворачивается через pg_restore. Для копии всего кластера баз есть pg_basebackup.

Имя базы в СУБД задаётся при создании информационной базы на сервере 1С. Посмотреть его можно в консоли администрирования серверов 1С в свойствах базы — поле с именем базы данных.

Встроенные средства платформы: Конфигуратор и БСП

У платформы есть два штатных механизма, и путать их не стоит.

Конфигуратор умеет только ручную выгрузку и загрузку .dt — пункты Выгрузить информационную базу и Загрузить информационную базу в меню Администрирование. Расписания здесь нет, это операция «по кнопке».

Автоматическое копирование в конфигурации (БСП). Типовые конфигурации на Библиотеке стандартных подсистем (Бухгалтерия, ЗУП, УТ и другие) содержат подсистему резервного копирования. Путь в режиме 1С:Предприятие:

Администрирование → Обслуживание → Резервное копирование и восстановление

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

Автоматическое резервное копирование из конфигурации работает только для файловых баз. На клиент-серверной базе этот раздел копию не снимает — там работает СУБД.

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

Автоматизация: расписание и командная строка

Ручной бэкап забывают делать. Поэтому копирование ставят на расписание.

Планировщик Windows для файловой базы. Простой сценарий — скопировать каталог базы ночью. Выгрузку .dt без открытия Конфигуратора вручную делает платформа в пакетном режиме:

"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /F"C:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\backup\buh.dt"

Параметр /F — путь к файловой базе, /N и /P — пользователь и пароль, /DumpIB — файл выгрузки. Для серверной базы вместо /F указывают /S"сервер\имя_базы". Команду ставят на запуск в Планировщике заданий Windows по ночам.

Пакетная выгрузка .dt, как и ручная, требует монопольного доступа. Если ночью кто-то оставил открытый сеанс, выгрузка не выполнится — для круглосуточных баз надёжнее бэкап средствами СУБД.

План обслуживания в MS SQL. В SQL Server Management Studio создаётся Maintenance Plan с задачей Back Up Database, расписание задаёт SQL Server Agent. Это стандарт для серверных баз: копия снимается на горячую, журнал транзакций — чаще, полная копия — раз в сутки.

cron для PostgreSQL. На Linux вызов pg_dump ставят в cron, на Windows — в Планировщик заданий. Разумная схема: полная выгрузка ночью плюс хранение нескольких суток назад.

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

Где хранить копии и как проверить, что они живые

Копия на том же диске, где и база, — это не резервная копия. Отказал диск — пропало всё сразу.

Рабочий ориентир — правило 3-2-1:

  • 🗂️ 3 копии данных: рабочая база плюс две резервные.
  • 💾 2 разных носителя: например, диск сервера и внешний накопитель или сетевое хранилище.
  • ☁️ 1 копия вне офиса: облако или физически другой адрес — на случай пожара, кражи, шифровальщика.

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

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

Проверка целостности зависит от формата:

  • Для .bak MS SQL — RESTORE VERIFYONLY FROM DISK = N'D:\backup\accounting_full.bak' WITH CHECKSUM.
  • Для .dt надёжной проверки «на месте» нет: единственный способ убедиться — загрузить копию в тестовую базу и открыть её.
Проверка резервной копии перед тем, как на неё положиться
Выполнено: 0 / 6

Восстановление базы 1С из резервной копии

Восстановление — обратная операция, и у каждого формата копии свой путь.

Загрузка .dt. В Конфигураторе: Администрирование → Загрузить информационную базу, указать файл .dt.

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

Восстановление из копии каталога. Закройте 1С на всех местах, замените каталог базы (или файл 1Cv8.1CD) сохранённой копией. База в списке запуска указывает на тот же путь — ничего перенастраивать не нужно.

Восстановление серверной базы. На MS SQL данные возвращают командой RESTORE DATABASE:

RESTORE DATABASE [accounting]
FROM DISK = N'D:\backup\accounting_full.bak'
WITH REPLACE;

На PostgreSQL копию формата pg_dump -F c разворачивают через pg_restore. После восстановления информационная база на сервере 1С продолжит работать с теми же данными — переопределять подключение не требуется, если имя базы в СУБД то же.

Перед восстановлением серверной базы остановите подключения пользователей к ней: вернуть данные под активными сеансами СУБД не даст. Это оборвёт работу всех, кто в базе, — делайте в согласованное окно.

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

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