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

Администрирование · 11 мин

Резервная копия 1С: как создать и проверить

Как создать резервную копию 1С: выгрузка в dt через конфигуратор, копирование файловой базы, копия на SQL Server, автоматизация и проверка восстановления.

Резервная копия базы 1С — единственная гарантия того, что учётные данные переживут сбой диска, ошибку обновления, действия вируса-шифровальщика или случайное удаление документов. При этом «копия» в 1С может означать разные вещи: выгрузку в файл .dt через конфигуратор, копирование файла 1Cv8.1CD файловой базы или штатный бэкап средствами СУБД для клиент-серверного варианта. Эти способы не взаимозаменяемы полностью, и выбор зависит от режима работы базы.

Главное правило: копия считается созданной только тогда, когда она лежит на другом носителе, а не в соседней папке того же диска, и когда её хотя бы раз проверили восстановлением. Файл, который никто не пробовал развернуть, — это предположение, а не резервная копия.

Какие виды резервных копий существуют в 1С

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

Второй подход — физическое копирование файла 1Cv8.1CD для файловых баз или каталога базы целиком. Это точный слепок данных, но он требует, чтобы с базой никто не работал в момент копирования, иначе файл может оказаться в несогласованном состоянии.

Третий подход — резервное копирование средствами СУБД (MS SQL Server, PostgreSQL) для клиент-серверных развёртываний. Это самый быстрый и надёжный способ для больших баз, но восстановление требует доступа к серверу баз данных и понимания его инструментов.

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

Выгрузка в .dt

Подходит для переноса базы, архивирования перед обновлением, небольших и средних баз. Ограничение: медленно на больших объёмах, требует монопольного режима.

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

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

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

Оптимально для клиент-серверных баз, поддерживает расписание и разностные копии. Ограничение: требует прав администратора СУБД и навыков восстановления.

Как создать копию через выгрузку в .dt

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

Порядок выгрузки в .dt
  1. 1
    Попросите всех пользователей завершить работу и закройте фоновые сеансы.
  2. 2
    Откройте базу в режиме «Конфигуратор» под учётной записью администратора.
  3. 3
    В меню «Администрирование» выберите пункт «Выгрузить информационную базу».
  4. 4
    Укажите путь и имя файла с расширением .dt, желательно на другом диске или сетевом ресурсе.
  5. 5
    Дождитесь завершения выгрузки и проверьте, что файл создан и имеет ненулевой размер.
  6. 6
    Скопируйте файл на внешний носитель или в облачное хранилище.

Если выгрузка прерывается с ошибкой «нарушена целостность» или зависает, это признак возможных проблем с базой. В таком случае имеет смысл выполнить тестирование и исправление (через конфигуратор или утилиту chdbfl для файловых баз), но только после того, как сделана физическая копия файла базы — тестирование с исправлением может изменить данные.

Как скопировать файловую базу напрямую

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

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

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

Резервное копирование клиент-серверной базы

В клиент-серверном варианте данные хранятся в СУБД, и копировать файлы напрямую бессмысленно. Для MS SQL Server резервная копия создаётся через SQL Server Management Studio: правый клик по базе → «Задачи» → «Создать резервную копию», тип — «Полная», назначение — файл на отдельном диске. Для PostgreSQL используется утилита pg_dump или pg_dumpall.

sql
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_full.bak' WITH COMPRESSION, CHECKSUM;

Параметр CHECKSUM позволяет обнаружить повреждения страниц уже на этапе создания копии, а COMPRESSION уменьшает размер файла. Для баз с интенсивной работой имеет смысл настроить план обслуживания: полная копия ежедневно в нерабочее время, разностные копии в течение дня, копии журнала транзакций для модели восстановления Full.

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

Как автоматизировать создание копий

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

cmd
"C:\Program Files\1cv8\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N"Администратор" /P"пароль" /DumpIB"D:\Backups\trade_%date%.dt" /DisableStartupDialogs

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

Пакетная выгрузка .dt не завершится корректно, если в базе остались активные сеансы — конфигуратор не сможет установить монопольный режим. Добавьте в скрипт проверку результата (код возврата и наличие файла) и настройте уведомление об ошибке, иначе сбой копирования можно не заметить неделями.
ПЗ
Практическое замечание

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

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

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

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

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

Файл существует, размер сопоставим с предыдущими копиями

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

Файл отсутствует, нулевой размер или резко меньше обычного

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

Загрузка завершается без ошибок, база открывается

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

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

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

Документы и справочники на месте, отчёты дают ожидаемые итоги

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

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

Место хранения
Норма

Копия лежит на другом диске, носителе или в облаке

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

Копия только в соседней папке того же диска

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

Типичные ошибки и ограничения

Типичные ошибки
01
Хранение копии на том же диске, что и база: при отказе диска теряется и база, и копия.
02
Копирование 1Cv8.1CD при открытых сеансах: файл копируется в несогласованном состоянии и не открывается при восстановлении.
03
Отсутствие проверки восстановления: о неработоспособности копии узнают в момент аварии, когда исправить уже ничего нельзя.
04
Единственная копия, затираемая каждый день: при шифровании вирусом или порче данных восстановить нечего. Нужна глубина хранения — несколько копий за разные даты.
05
Выгрузка .dt огромной базы как единственный способ: процесс длится часами и мешает работе. Для больших баз нужен бэкап средствами СУБД.

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

Итог

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

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

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

Чем файл .dt отличается от копии файла 1Cv8.1CD?

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

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

Выгрузка в .dt и копирование 1Cv8.1CD требуют монопольного доступа — с работающими пользователями они либо не запустятся, либо дадут неконсистентную копию. Единственный способ копировать «на горячую» — бэкап средствами СУБД в клиент-серверном варианте, который не прерывает работу пользователей.

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

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

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

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

База не выгружается в .dt, выгрузка обрывается с ошибкой. Что делать?

Сначала скопируйте файл 1Cv8.1CD как физическую копию — это сохранит текущее состояние. Затем проверьте базу утилитой chdbfl из каталога платформы (для файловых баз) и тестированием в конфигураторе без включённых операций исправления. Только после диагностики и при наличии копии запускайте исправление. Если повреждения серьёзные, восстановление лучше поручить специалисту по 1С.

Достаточно ли копировать базу в облако типа Яндекс.Диск или OneDrive?

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