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

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

Как восстановить файл базы данных 1С

Как восстановить повреждённый файл базы данных 1С: проверка chdbfl.exe, тестирование и исправление, загрузка DT, работа с кэшем и восстановление из резервной копии.

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

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

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

Шаг 1. Сделайте резервную копию повреждённой базы

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

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

Шаг 2. Проверьте файл утилитой chdbfl.exe

Утилита chdbfl.exe поставляется вместе с платформой 1С и находится в каталоге bin установленной версии, например: C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe. Она проверяет физическую целостность структуры файла 1Cv8.1CD — то, что не видит конфигуратор.

Порядок работы: запустите утилиту, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита покажет ход проверки и список найденных повреждений. Время работы зависит от размера базы — на больших файлах проверка может занять десятки минут.

Проверка через chdbfl.exe
  1. 1
    Скопируйте каталог базы в безопасное место
  2. 2
    Завершите все сеансы 1С, работающие с этой базой
  3. 3
    Запустите chdbfl.exe из каталога bin платформы
  4. 4
    Укажите путь к файлу 1Cv8.1CD
  5. 5
    Отметьте «Исправлять обнаруженные ошибки» и нажмите «Выполнить»
  6. 6
    Дождитесь окончания и прочитайте отчёт об ошибках
  7. 7
    Попробуйте открыть базу в конфигураторе

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

Шаг 3. Выполните тестирование и исправление в конфигураторе

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

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

Процедура может занять значительное время и требует монопольного доступа — пользователи не должны работать с базой. Прерывать процесс нельзя: это создаст новые повреждения.

Шаг 4. Выгрузите и загрузите базу через DT

Если после chdbfl и тестирования база открывается в конфигураторе, сразу сделайте выгрузку: «Администрирование → Выгрузить информационную базу». Файл выгрузки (DT) — это переносимый снимок базы. Затем создайте новую пустую базу и загрузите в неё этот файл: «Администрирование → Загрузить информационную базу».

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

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

Шаг 5. Проверьте кэш и служебные файлы

Не все ошибки, похожие на повреждение базы, связаны с самим файлом. Ошибки «Ошибка формата потока», странное поведение у отдельных пользователей или сбои только на одном компьютере часто вызваны повреждённым кэшем метаданных. Кэш хранится в папках профиля пользователя: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 в каталогах с длинными именами-идентификаторами баз.

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

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

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

Ошибка только у одного пользователя или на одном компьютереОчистите кэш метаданных — база, скорее всего, цела
База не открывается ни у кого, ошибка «файл базы данных повреждён»Скопируйте каталог и запустите chdbfl.exe, затем тестирование и исправление
После исправления база открывается, но есть битые ссылкиВыгрузите DT и загрузите в новую пустую базу
Ничего не помогло или файл читается с ошибками дискаВосстанавливайте из резервной копии; при её отсутствии — к специалистам по восстановлению данных

Шаг 6. Восстановление из резервной копии

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

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

Типичные ошибки
01
Запуск тестирования и исправления без предварительной копии — при неудаче откатиться не к чему
02
Работа пользователей в базе во время chdbfl или тестирования — новые повреждения поверх старых
03
Прерывание процесса исправления по таймауту — файл остаётся в промежуточном состоянии
04
Копирование только файла 1Cv8.1CD при открытых сеансах — копия получается несогласованной
05
Многократные попытки открыть базу на сбойном диске — окончательный выход диска из строя

Шаг 7. Проверка результата и профилактика

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

Чтобы ситуация не повторилась, настройте регулярные выгрузки DT по расписанию и копирование файла базы вне рабочих часов. Разместите базу на надёжном диске с контролем состояния (SMART), исключите работу по нестабильной сети и используйте источник бесперебойного питания на сервере или компьютере с базой. Для растущих баз рассмотрите переход на клиент-серверный вариант (SQL) — он устойчивее к сбоям и даёт больше инструментов резервного копирования.

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

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

Открытие базы в конфигураторе и предприятии
Норма

Открывается без ошибок у всех пользователей

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

Ошибки формата потока или повреждения файла повторяются

Итоги ключевых отчётов
Норма

Совпадают с данными до сбоя или расхождения объяснимы

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

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

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

Проходит без ошибок

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

Снова находятся повреждения — файл или диск нездоровы

Итог

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

Сначала — копия каталога базы, затем chdbfl.exe, затем тестирование и исправление, затем выгрузка и загрузка через DT. Ошибки у отдельных пользователей лечатся очисткой кэша. Если ничего не помогло — восстановление из резервной копии. Регулярные выгрузки DT — главная защита от потери данных.

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

Где найти chdbfl.exe, если её нет в каталоге платформы?

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

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

Да, шансы есть: chdbfl.exe и тестирование с исправлением работают без копий. Если они не помогли, остаются специализированные сервисы и специалисты по восстановлению файлов 1С, которые разбирают структуру 1Cv8.1CD вручную. Гарантий полного восстановления в этом случае никто не даёт.

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

Выгрузка DT создаётся штатными средствами платформы и гарантирует логическую согласованность данных, её можно загрузить в базу на другой версии платформы. Копирование файла быстрее и сохраняет всё «как есть», но требует, чтобы с базой никто не работал в момент копирования. Надёжнее использовать оба способа.

База открывается, но периодически появляется «Ошибка формата потока». Это повреждение файла?

Чаще всего нет — это признак повреждённого кэша метаданных или проблем сети при файловом доступе. Начните с очистки кэша у проблемных пользователей. Если ошибка массовая и повторяется — тогда проверяйте файл через chdbfl.exe и состояние диска и сети.

Сколько времени занимает тестирование и исправление большой базы?

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

Поможет ли переустановка платформы 1С при повреждении базы?

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