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

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

Как исправить поврежденный файл 1С

Что делать, если файл базы 1С поврежден: проверка chdbfl.exe, тестирование и исправление в конфигураторе, восстановление из копии и типичные ошибки.

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

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

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

Шаг 0: остановите работу и сделайте копию файла

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

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

Определите характер повреждения

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

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

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

Начните с chdbfl.exe, затем тестирование в конфигураторе

Сбой на конкретных документахПовреждена отдельная таблица или записи

Попробуйте выгрузку/загрузку через dt или тестирование с реструктуризацией

База открывается, но «тормозит» и падаетВозможны битые индексы или кэш

Очистите кэш базы и выполните реиндексацию

Файл не копируется, ошибки чтенияПроблема на уровне диска, а не 1С

Проверьте диск (chkdsk), копируйте файл на исправный носитель

Способ 1: проверка физической целостности утилитой chdbfl.exe

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

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

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

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

Способ 2: тестирование и исправление в конфигураторе

Откройте базу в режиме конфигуратора (если она открывается) и перейдите в меню «Администрирование» → «Тестирование и исправление». Этот инструмент работает на логическом уровне и умеет больше, чем chdbfl.

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

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

Способ 3: выгрузка и загрузка через файл dt

Когда база открывается, но ведёт себя нестабильно, действенный приём — полная выгрузка в файл dt («Администрирование» → «Выгрузить информационную базу») и последующая загрузка в новую пустую базу. При загрузке платформа перестраивает все таблицы заново, что устраняет многие структурные дефекты.

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

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

chdbfl.exe

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

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

Устраняет логические ошибки и перестраивает индексы. Требует, чтобы база открывалась в конфигураторе.

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

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

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

Самый надёжный вариант при серьёзных повреждениях. Минус — потеря данных, введённых после создания копии.

Очистка кэша и проверка диска

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

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

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

Когда самостоятельное восстановление небезопасно

Есть ситуации, в которых дальнейшие эксперименты лучше прекратить. К ним относятся: chdbfl и тестирование завершились с ошибками, но база не открывается; файл не читается на уровне операционной системы; база содержит критичные данные без актуальной резервной копии; повреждение произошло на серверной базе (SQL Server, PostgreSQL), а не в файловом варианте.

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

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

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

База не открывается, ошибка о повреждении файлаКопия файла → chdbfl.exe → повторная попытка открытия
База открывается, но падает на отдельных объектахТестирование и исправление с реиндексацией и проверкой логической целостности
Ошибка только у одного пользователяОчистка кэша и повторное добавление базы в список
База на SQL Server или PostgreSQLСредства СУБД и восстановление из бэкапа, chdbfl не применяется
Ничего не помогло и нет резервной копииОстановиться, сохранить исходный файл и обратиться к специалистам по восстановлению

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

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

Чтобы ситуация не повторилась, настройте регулярное резервное копирование (выгрузка dt или копирование файла по расписанию), обеспечьте бесперебойное питание сервера или компьютера с базой, а при многопользовательской работе откажитесь от файлового режима по сети в пользу сервера 1С или веб-сервера.

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

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

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

База открывается без сообщений об ошибках

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

Ошибка повторяется или появляется новая

Ключевые отчёты и итоги
Норма

Итоги сходятся с ожидаемыми значениями

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

Суммы расходятся, документы пропали

Проведение и запись документов
Норма

Документы проводятся штатно

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

Падение или ошибки при записи

Повторное тестирование
Норма

Проверка завершается без ошибок

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

Ошибки остаются — нужен следующий уровень восстановления

Итог

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

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

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

Чем отличается chdbfl.exe от тестирования и исправления?

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

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

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

Почему база повреждается снова после успешного восстановления?

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

Работает ли chdbfl с базами на SQL Server?

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

Что делать, если при тестировании удаляются «битые» объекты?

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

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

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