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

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

1С пишет «файл базы данных поврежден»: причины и способы восстановления

Почему 1С пишет, что файл базы данных поврежден, как исправить ошибку через chdbfl, тестирование и исправление, dt-выгрузку и когда обращаться к специалистам.

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

Повреждение бывает разной степени. Иногда база вообще не открывается ни в режиме предприятия, ни в конфигураторе. Иногда открывается, но падает при обращении к конкретному документу, справочнику или журналу. От этого зависит стратегия восстановления: где-то достаточно штатной утилиты chdbfl, а где-то потребуется выгрузка в dt или восстановление из резервной копии.

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

Почему файл базы 1С повреждается

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

  • внезапное отключение питания компьютера или сервера, где лежит база;
  • размещение базы на сетевом диске при нестабильной сети — разрыв соединения в момент записи почти гарантированно повреждает файл;
  • сбои жесткого диска, битые сектора, переполнение диска во время записи;
  • принудительное завершение процесса 1С через диспетчер задач во время проведения документов или обмена;
  • работа антивируса, который блокирует или изменяет файл базы при фоновом сканировании;
  • некорректное завершение работы Windows с открытой базой.

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

База не открывается совсемТяжелое повреждение

Сразу chdbfl, затем конфигуратор; dt-выгрузка, скорее всего, недоступна

Открывается, но падает на объектеЛокальное повреждение таблицы

Тестирование и исправление, выгрузка в dt

Ошибка только у одного пользователяВозможно, проблема в кэше

Очистить кэш метаданных и проверить с другого компьютера

Ошибка после сбоя питанияТипичное повреждение страниц

chdbfl с копией файла

Первый шаг: копия базы и исключение ложной тревоги

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

Далее исключите ложные причины. Проверьте, есть ли свободное место на диске с базой — при переполнении 1С может выдавать похожие ошибки. Убедитесь, что к базе никто не подключен: открытый сеанс другого пользователя или зависший процесс 1cv8.exe может блокировать файл. Проверьте диск штатной утилитой chkdsk — иногда повреждена не база, а файловая система.

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

Восстановление утилитой chdbfl

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

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

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

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

Тестирование и исправление в конфигураторе

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

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

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

Сравнение способов восстановления

chdbfl.exe

Исправляет физические повреждения файла. Работает, когда база не открывается. Не исправляет логические ошибки данных

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

Исправляет логическую целостность. Требует, чтобы база открывалась в конфигураторе. Может удалять битые объекты

Выгрузка в dt и загрузка в новую базу

Пересоздает структуру файла с нуля. Требует работающей выгрузки. Не спасает при тяжелом повреждении

Восстановление из резервной копии

Самый надежный способ. Потеря данных — с момента последней копии

Выгрузка в dt и загрузка в чистую базу

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

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

Если ничего не помогло: резервные копии и специалисты

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

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

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

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

База не открывается, копия сделанаЗапустите chdbfl на копии файла
База открывается в конфигураторе, но сыплет ошибкамиТестирование и исправление, затем выгрузка в dt и загрузка в новую базу
Ошибка только на одном компьютереОчистите кэш и переподключите базу, файл скорее всего цел
Автоматика не помогла, копий нетОстановите эксперименты и обратитесь к специалистам по восстановлению
Есть свежая резервная копияВосстановите из копии и введите данные за потерянный период

Профилактика: как не столкнуться с повреждением снова

Восстановленная база без изменения условий работы почти гарантированно повредится снова. Минимальный набор профилактических мер:

  • настройте автоматическое резервное копирование базы — ежедневно, с хранением нескольких копий на другом физическом диске;
  • обеспечьте бесперебойное питание компьютера с базой через ИБП;
  • не размещайте файловую базу на сетевом диске при нестабильной сети; для многопользовательской работы используйте терминальный доступ или переходите на клиент-серверный вариант;
  • добавьте каталог базы в исключения антивируса;
  • завершайте работу 1С штатно, не выключайте компьютер с открытыми сеансами;
  • следите за состоянием диска и свободным местом.

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

Типичные ошибки
01
Запуск исправления без копии файла — неудачная попытка делает восстановление невозможным
02
Прерывание chdbfl или тестирования в середине процесса — файл остается в несогласованном состоянии
03
Продолжение работы в восстановленной базе без выгрузки в dt — скрытые дефекты файла сохраняются
04
Хранение резервных копий на том же диске, что и база — при сбое диска теряется всё
05
Попытки «лечить» базу сторонними редакторами и hex-инструментами без опыта — почти всегда усугубляет повреждение
Итог

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

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

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

База повреждена, а резервной копии нет. Данные потеряны навсегда?

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

Можно ли запускать chdbfl при открытой базе?

Нет. Все сеансы пользователей должны быть завершены, а процессы 1cv8.exe, работающие с этой базой, закрыты. Иначе проверка даст ложные результаты, а исправление может конфликтовать с активной записью в файл.

После chdbfl база открывается, но пропали некоторые документы. Это нормально?

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

Ошибка появляется только у одного пользователя из пяти. База повреждена?

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

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

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

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

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