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

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

Как восстановить 1С из резервной копии

Как восстановить базу 1С из резервной копии: файловой и клиент-серверной, через dt, SQL Server и PostgreSQL. Проверка результата, ошибки и FAQ.

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

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

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

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

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

Форматов бэкапа три основных. Файл .dt — выгрузка информационной базы, сделанная через конфигуратор. Каталог с файлом 1Cv8.1CD — копия файловой базы целиком. Файлы .bak (MS SQL) или дампы pg_dump (PostgreSQL) — копии клиент-серверной базы средствами СУБД.

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

Как выбрать способ восстановления

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

Восстановление файловой базы из выгрузки .dt

Это самый универсальный сценарий: .dt-файл подходит и для восстановления после сбоя, и для переноса базы между компьютерами, и даже для преобразования файловой базы в клиент-серверную.

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

На время загрузки никто не должен работать в базе-приёмнике. Если восстанавливаете поверх существующей базы (например, откатываете её к состоянию на дату бэкапа), все текущие данные будут полностью заменены содержимым выгрузки — отменить это нельзя.

После загрузки проверьте версию конфигурации: если .dt делался на более старом релизе платформы или конфигурации, база может потребовать обновления при первом запуске в режиме «Предприятие». Это нормально — запустите обновление под пользователем с полными правами и дождитесь его завершения.

Восстановление файловой базы из копии каталога

Если бэкап делался простым копированием папки базы (вручную или скриптом), восстановление ещё проще. Скопируйте каталог в нужное место на диске, затем в окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы» и укажите путь к этому каталогу.

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

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

Восстановление из .dt

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

Восстановление из бэкапа MS SQL Server

Это основной рабочий сценарий для клиент-серверных баз, поскольку штатные бэкапы SQL Server делаются быстрее и не требуют монопольного доступа. Откройте SQL Server Management Studio, подключитесь к серверу, нажмите правой кнопкой на узел «Базы данных» → «Восстановить базу данных». Выберите источник «Устройство», укажите .bak-файл, задайте имя новой базы.

Если восстанавливаете поверх существующей базы, на вкладке «Параметры» включите опцию перезаписи и снимите активные соединения (опция закрытия существующих подключений), иначе восстановление не начнётся. После завершения зарегистрируйте базу в консоли кластера 1С: создайте новую информационную базу, укажите сервер СУБД и имя восстановленной базы, снимите флаг создания новой базы данных.

Восстановление из дампа PostgreSQL

Для PostgreSQL создайте пустую базу данных и разверните в неё дамп командой pg_restore (для формата custom) или psql (для текстового дампа). Затем так же зарегистрируйте базу в кластере 1С, указав существующую базу данных без создания новой.

bash
pg_restore -U postgres -d restored_base_name /backups/backup_file.dump

Проверка восстановленной базы

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

Для файловых баз полезно прогнать проверку физической целостности утилитой chdbfl.exe из каталога bin установленной платформы — она выявляет повреждения файла 1Cv8.1CD, которые не видны при обычной работе. Для любой базы доступно «Тестирование и исправление» в конфигураторе, но запускайте его сначала только в режиме проверки без исправления, чтобы оценить масштаб проблем.

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

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

Запуск в режиме «Предприятие»
Норма

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

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

Ошибки формата потока, аварийное завершение, зависание обновления

Свежие документы и справочники
Норма

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

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

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

Итоги отчётов
Норма

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

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

Расхождения в суммах, пустые отчёты

Целостность файла 1Cv8.1CD
Норма

chdbfl не находит ошибок

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

Утилита сообщает о повреждениях таблиц

Типичные ошибки при восстановлении

Типичные ошибки
01
Восстановление поверх рабочей базы без её предварительной копии — при неудаче теряются и текущие данные.
02
Загрузка .dt при работающих пользователях — загрузка прерывается или база остаётся в несогласованном состоянии.
03
Использование копии 1Cv8.1CD, снятой во время работы пользователей, — файл повреждён, база не открывается.
04
Восстановление бэкапа SQL под тем же именем на том же сервере без перенаправления файлов — конфликт имён и файлов базы данных.
05
Отсутствие проверки результата — пользователи начинают работать в базе с частично потерянными данными, и проблема вскрывается через недели.
06
Попытка загрузить .dt, созданный на более новой версии платформы, в старую платформу — загрузка невозможна, нужно обновить платформу.

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

Часто задаваемые вопросы

Можно ли восстановить только часть данных, например один удалённый документ?

Штатных средств точечного восстановления в 1С нет. Практический подход: восстановите бэкап в отдельную копию базы, найдите нужный документ и перенесите его в рабочую базу вручную или через выгрузку/загрузку данных в формате XML (обработка «Выгрузка и загрузка данных XML» с диска ИТС). Для клиент-серверных баз на MS SQL возможен вариант с восстановлением копии базы на момент времени, если использовалась полная модель восстановления.

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

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

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

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

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

Проверьте свободное место на диске (нужно минимум в 2–3 раза больше размера выгрузки), версию платформы (она не должна быть старше той, на которой делалась выгрузка) и целостность самого файла — скопируйте его заново с источника, если есть такая возможность. Если ошибка повторяется, попробуйте загрузку на другом компьютере с актуальной платформой.

Как восстановить базу, если бэкапа вообще нет?

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

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

Останавливать сам сервер 1С не обязательно, но нужно завершить все сеансы пользователей с восстанавливаемой базой и удалить или заблокировать её регистрацию в кластере, чтобы не осталось активных соединений с СУБД. Иначе SQL Server не сможет получить монопольный доступ к базе для восстановления.

Итог

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

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