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

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

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

Пошаговая инструкция по восстановлению базы 1С из копии: выгрузка DT, бэкап SQL, файловая база. Проверка результата, типичные ошибки и ответы на вопросы.

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

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

Если резервной копии нет совсем, вариантов восстановления заметно меньше: помогут журнал регистрации, механизм истории данных (если он был включён) или копии, которые автоматически создают средства виртуализации и системы резервного копирования сервера. Эти сценарии также разобраны ниже.

Определите тип резервной копии и режим работы базы

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

Выгрузка DT — это файл, созданный в конфигураторе через «Администрирование → Выгрузить информационную базу». Такой файл универсален: его можно загрузить и в файловую, и в клиент-серверную базу. Бэкап SQL (файлы .bak для MS SQL Server или дампы PostgreSQL) создаётся средствами СУБД и восстанавливается только через них. Файл 1Cv8.1CD — это сам файл файловой базы, который копируют средствами операционной системы.

Файл с расширением .dtВыгрузка из конфигуратора

Восстанавливайте через «Загрузить информационную базу» в конфигураторе

Файл 1Cv8.1CDФайловая база целиком

Достаточно подменить файл в каталоге базы при закрытых сеансах

Файл .bak или дамп SQLКопия средствами СУБД

Восстановление через Management Studio или pg_restore, затем привязка в консоли кластера

Копии нет вообщеШтатное восстановление невозможно

Проверьте снапшоты сервера, теневые копии Windows и историю данных

Восстановление из выгрузки DT через конфигуратор

Это самый распространённый и безопасный способ. Откройте конфигуратор той базы, в которую хотите загрузить данные (либо создайте новую пустую базу), и убедитесь, что в ней нет активных пользователей — загрузка требует монопольного доступа.

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

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

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

Восстановление файловой базы заменой файла 1Cv8.1CD

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

Завершите все сеансы работы с базой: файл 1Cv8.1CD нельзя заменить, пока он открыт хотя бы одним пользователем или фоновым процессом. Переименуйте текущий файл (например, в 1Cv8_old.1CD), скопируйте на его место файл из резервной копии и запустите базу. Если база открывается и данные на месте — старый файл можно удалить.

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

Восстановление клиент-серверной базы из бэкапа СУБД

В клиент-серверном режиме данные хранятся в СУБД, поэтому восстановление выполняется её средствами. Для MS SQL Server откройте SQL Server Management Studio, выберите «Restore Database», укажите файл .bak и восстановите базу под новым именем — так вы не затронете текущую рабочую базу.

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

Для PostgreSQL логика аналогична: бэкап восстанавливается через pg_restore или psql в новую базу данных, после чего она регистрируется в кластере 1С. Учтите, что версия СУБД при восстановлении должна быть не ниже той, на которой создавался бэкап.

Что делать, если резервной копии нет

Отсутствие копии не всегда означает безвозвратную потерю. Проверьте теневые копии Windows (свойства папки с базой → вкладка «Предыдущие версии»), снапшоты виртуальных машин, если сервер виртуализирован, и копии, которые могли создаваться сторонними системами резервного копирования.

Если нужно восстановить не всю базу, а конкретные удалённые или изменённые данные, поможет журнал регистрации: в нём видно, кто и когда изменил объект. При включённом механизме «История данных» (доступен в ряде конфигураций) можно откатить изменения конкретных объектов прямо из интерфейса. Также уточните у пользователей, не выгружал ли кто-то данные обработками или не сохранял ли печатные формы — иногда из них удаётся восстановить информацию вручную.

Маршрут решения

Как выбрать действие

Есть DT-файл и нужно вернуть всю базуЗагрузите выгрузку через конфигуратор в отдельную базу и проверьте
Есть копия файла 1Cv8.1CDПодмените файл в каталоге базы при завершённых сеансах
Есть бэкап SQL и клиент-серверный режимВосстановите бэкап под новым именем и зарегистрируйте в консоли кластера
Копии нет, но база открываетсяИспользуйте журнал регистрации и историю данных для точечного отката
Файл базы повреждён и не открываетсяСделайте копию файла и запустите chdbfl.exe для проверки целостности

Проверка результата после восстановления

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

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

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

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

Запуск базы в режиме предприятия
Норма

База открывается без ошибок, пользователи входят под своими учётными записями

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

Ошибки формата потока, требование монопольного режима, пустой интерфейс

Документы за последние дни перед сбоем
Норма

Документы на месте, проведены, суммы совпадают

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

Документы отсутствуют или откатились на более раннее состояние, чем ожидалось

Остатки по отчётам
Норма

Остатки совпадают с известными контрольными значениями

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

Расхождения в остатках, обороты за обрывочные периоды

Регламентные задания и обмены
Норма

Задания выполняются по расписанию, дублей в обменах нет

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

Дублирование операций, ошибки подключения к внешним системам

Типичные ошибки и как их избежать

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

Вторая группа ошибок связана с версиями: загрузка DT в базу с более старой версией платформы может завершиться ошибкой, а восстановление бэкапа SQL на сервер более старой версии невозможно в принципе. Перед восстановлением сверьте версии платформы и СУБД.

Типичные ошибки
01
Загрузка DT поверх рабочей базы без её предварительной копии — при неудаче теряются оба состояния
02
Копирование 1Cv8.1CD при открытых сеансах — копия получается несогласованной и не открывается
03
Восстановленная копия в кластере без блокировки регламентных заданий — дублируются обмены и рассылки
04
Попытка загрузить DT, снятую с новой версии платформы, в старую — ошибка несовместимости
05
Удаление «старого» файла базы сразу после подмены, до полной проверки данных

Наконец, не восстанавливайте базу «молча», не предупредив пользователей. Если во время восстановления кто-то продолжит вводить документы в старую копию, эти данные потеряются при подмене, и разнести их придётся вручную.

Итог

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

Способ восстановления определяется типом копии: DT загружается через конфигуратор, файл 1Cv8.1CD подменяется в каталоге, бэкап SQL восстанавливается средствами СУБД с регистрацией в кластере. Всегда разворачивайте копию отдельно, проверяйте данные и только потом заменяйте рабочую базу.

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

Можно ли восстановить только один удалённый документ, а не всю базу?

Да. Разверните резервную копию в отдельную базу, найдите нужный документ и перенесите его в рабочую базу через обработку «Выгрузка и загрузка данных XML» или пересоздайте вручную по данным копии. Проверьте связанные объекты: контрагента, договор, товары — они должны существовать в рабочей базе с теми же ссылками.

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

Выгрузка DT создаётся штатными средствами платформы и гарантирует согласованность данных, её можно загрузить в базу другого режима работы. Копирование файла 1Cv8.1CD быстрее, но требует завершения всех сеансов и применимо только к файловым базам. Для регулярного резервного копирования надёжнее выгрузка DT.

База после загрузки DT требует обновление конфигурации — это нормально?

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

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

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

Что делать, если при загрузке DT появляется ошибка «Нарушена целостность файла»?

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

Нужно ли останавливать сервер 1С при восстановлении бэкапа SQL?

Полная остановка кластера не обязательна, но все сеансы с восстанавливаемой базой должны быть завершены, иначе СУБД не сможет выполнить восстановление. Удалите активные сеансы через консоль кластера и установите блокировку соединений с базой на время работ.