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

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

Файл базы данных поврежден: что делать в 1С

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

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

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

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

Как понять, что база повреждена, и оценить масштаб проблемы

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

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

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

Проверьте открытие копии базы локально на сервере

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

Очистите кэш 1С и проверьте сетевой доступ к папке базы

База открывается, но падают отчетыПовреждены отдельные таблицы

Запустите chdbfl на копии и посмотрите, какие таблицы затронуты

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

Не запускайте базу до создания копии файла 1Cv8.1CD

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если штатные средства не помогли или объем потерянных данных после исправления слишком велик, оптимальный путь — восстановление из резервной копии. Для файловой базы это либо загрузка файла выгрузки *.dt через «Администрирование» → «Загрузить информационную базу», либо замена файла 1Cv8.1CD архивной копией.

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

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

chdbfl.exe

Быстрый ремонт физической структуры файла; не проверяет логику данных и не гарантирует полного восстановления

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

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

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

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

Специализированные сервисы восстановления

Последний вариант при ценных данных и неудаче штатных средств; требует передачи файла сторонним специалистам

Когда обращаться к специалистам и как проверить результат

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

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

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

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

Открытие базы в конфигураторе и пользовательском режиме
Норма

База открывается без ошибок в обоих режимах

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

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

Целостность последних документов
Норма

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

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

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

Остатки и взаиморасчеты
Норма

Отчеты сходятся с данными до сбоя

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

Расхождения в остатках, пустые регистры

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

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

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

Остаются необработанные битые ссылки

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

Большинство повреждений файловых баз связано с внешними факторами, которые можно устранить. Настройте регулярное резервное копирование: выгрузку *.dt по расписанию и копирование файла базы средствами ОС или бэкап-софта. Храните копии на другом физическом носителе, а не в соседней папке того же диска.

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

Итог

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

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

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

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

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

Чем отличается chdbfl от «Тестирования и исправления»?

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

Почему ошибка появляется только у одного пользователя сетевой базы?

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

Опасно ли прерывать процесс тестирования и исправления?

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

Какие данные проверять в первую очередь после восстановления?

Начните с документов за последние дни работы — они наиболее уязвимы при сбое во время записи. Затем сверьте остатки по складу, кассе и расчетным счетам, взаиморасчеты с контрагентами и состояние регистров. Если есть распечатанные отчеты или выгрузки, сделанные до сбоя, сравните показатели с ними.

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

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