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

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

chdbfl в 1С: что это за утилита и как ей пользоваться

chdbfl.exe — штатная утилита 1С для проверки и восстановления файловых баз 1Cv8.1CD. Разбираем запуск, режимы исправления ошибок, риски и альтернативы.

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

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

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

Где находится chdbfl.exe и как её запустить

Файл chdbfl.exe расположен в подкаталоге bin каталога установленной платформы. Если на компьютере стоит несколько версий платформы, утилита есть у каждой из них — обычно используют версию, под которой работает проблемная база, либо самую свежую из установленных. Типичный путь выглядит так: C:\Program Files\1cv8\8.3.24.1467\bin\chdbfl.exe (номер версии будет вашим).

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

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

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

Как устроен интерфейс и что означают его элементы

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

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

Когда стоит применять chdbfl, а когда нет

Типичные симптомы, при которых проверка chdbfl оправдана: ошибка «СУБД: файл базы данных повреждён» с указанием пути к 1Cv8.1CD, внезапные аварийные завершения при обращении к конкретным документам или справочникам, ошибки формата потока, невозможность открыть базу даже в конфигураторе. Чаще всего такие повреждения возникают после внезапного отключения питания, обрыва сети при работе с базой на сетевом ресурсе, нехватки места на диске или сбоев самого диска.

Есть ситуации, где chdbfl не поможет или не нужна. Ошибки «потока данных», вызванные кэшем метаданных на клиенте, лечатся очисткой кэша, а не проверкой файла. Проблемы клиент-серверных баз решаются на уровне СУБД. Логические ошибки учёта — неправильные проводки, расхождения в отчётах — вообще не относятся к физической целостности файла. И наконец, если база открывается и стабильно работает, запускать chdbfl «для профилактики» смысла нет: это инструмент ремонта, а не обслуживания.

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

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

Ошибка «файл базы данных повреждён» при запуске файловой базыСделайте копию 1Cv8.1CD и запустите chdbfl сначала без исправления
Ошибка формата потока только у одного пользователя на одном компьютереОчистите кэш метаданных клиента — chdbfl здесь не нужна
База работает в клиент-серверном вариантеПроверяйте целостность средствами СУБД (DBCC CHECKDB для MS SQL и аналоги)
chdbfl не устранила ошибку даже с исправлениемПробуйте выгрузку в dt через конфигуратор или восстановление из резервной копии

Режим исправления ошибок: что происходит с данными

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

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

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

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

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

База открывается без сообщений о повреждении

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

Ошибка воспроизводится — нужен другой способ восстановления

Повторная проверка chdbfl без исправления
Норма

Отчёт не содержит ошибок

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

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

Ключевые отчёты (оборотка, остатки)
Норма

Итоги сходятся с ожидаемыми или с данными копии

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

Есть расхождения — часть данных удалена, нужна сверка с резервной копией

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

Проверка логической целостности проходит без критических ошибок

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

Обнаружены битые ссылки на удалённые объекты — требуется обработка

Отличия от «Тестирования и исправления» в конфигураторе

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

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

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

chdbfl.exe

Работает с сильно повреждённым файлом, который не открывает платформа. Минус: безвозвратно удаляет нечитаемые данные

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

Исправляет логические ошибки, итоги, ссылки. Ограничение: база должна физически открываться

Выгрузка/загрузка через dt

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

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

Самый надёжный вариант с точки зрения данных. Ограничение: теряются изменения с момента создания копии

Типичные ошибки и меры предосторожности

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

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

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

Что делать, если chdbfl не помогла

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

Если копии нет, а данные критичны, остаётся обращение к специалистам по восстановлению данных формата 1С — существуют сервисы и утилиты, умеющие вытаскивать таблицы из повреждённых файлов постранично. Это платная и негарантированная процедура, но при ценности данных она оправданна. И в любом случае ситуация должна закончиться внедрением регулярного резервного копирования: автоматическая выгрузка в dt или копирование файла базы по расписанию сводит цену подобного инцидента почти к нулю.

Итог

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

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

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

Где скачать chdbfl.exe отдельно от платформы?

Официально утилита отдельно не распространяется — она входит в дистрибутив платформы «1С:Предприятие 8» и устанавливается вместе с ней. Скачивание chdbfl.exe со сторонних сайтов небезопасно: под видом утилиты нередко распространяется вредоносное ПО. Если платформа установлена на другом компьютере, можно просто скопировать файл из каталога bin — утилита автономна и работает без установки.

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

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

Удалит ли chdbfl мои данные при исправлении?

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

Подходит ли chdbfl для баз на SQL Server?

Нет. Утилита работает только с файловым форматом 1Cv8.1CD. В клиент-серверном варианте данные хранятся в таблицах СУБД, и проверка целостности выполняется её штатными средствами — например, командой DBCC CHECKDB для Microsoft SQL Server, а также через «Тестирование и исправление» в конфигураторе.

База открывается, но периодически выдаёт ошибки. Запускать chdbfl?

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

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

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