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

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

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

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

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

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

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

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

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

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

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

База не открывается совсемПовреждены служебные структуры или заголовок файла

Проверьте, не изменился ли размер 1Cv8.1CD, и сразу переходите к chdbfl

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

Зафиксируйте, на каких документах возникает ошибка, и запускайте тестирование и исправление

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

Проверьте SMART диска и журнал событий Windows

Размер файла стал нулевым или заметно меньшеФайл усечён при записи

Самостоятельное лечение почти бесперспективно — нужна резервная копия

Первые действия: что сделать до любого лечения

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

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

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

Порядок действий в первые минуты
  1. 1
    Завершите все сеансы 1С и закройте конфигуратор на всех компьютерах
  2. 2
    Скопируйте весь каталог базы на другой диск или сетевой ресурс
  3. 3
    Зафиксируйте текст ошибки и размер файла 1Cv8.1CD
  4. 4
    Проверьте журнал событий Windows и состояние диска
  5. 5
    Только после этого запускайте восстановление — на копии, а не на оригинале

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

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

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

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

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

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

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

Отчёт тестирования сохраните. В нём перечислены удалённые и исправленные объекты — это основа для оценки потерь. Если список короткий и затрагивает некритичные данные (например, устаревшие документы прошлых периодов), можно считать восстановление успешным. Если потеряны актуальные документы, их придётся вводить заново или переносить из резервной копии.

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

Если штатные средства не помогли

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

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

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

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

Chdbfl + тестирование и исправление

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

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

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

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

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

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

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

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

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

Отдельно проверьте битые ссылки: отчёт тестирования и исправления покажет объекты с неразрешёнными ссылками. Каждый такой случай — это потерянный документ или элемент справочника, на который кто-то ссылается. Решите по каждому: восстановить вручную, перенести из копии или удалить ссылку осознанно.

Только после этих проверок допускайте пользователей к работе. И сразу после восстановления сделайте свежую резервную копию — она станет новой точкой отсчёта.

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

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

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

Открывается без ошибок, работают основные журналы и отчёты

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

Ошибки при открытии отдельных объектов или падение при формировании отчётов

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

Сальдо и остатки сходятся с данными до сбоя

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

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

Ссылочная целостность
Норма

Отчёт тестирования не содержит битых ссылок или они осознанно обработаны

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

Массовые битые ссылки в актуальных документах

Регламентные операции
Норма

Проведение документов и закрытие периода проходят без ошибок

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

Ошибки проведения, невозможность перепровести документы

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

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

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

Итог

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

Сначала копия каталога базы — потом любое лечение. Порядок восстановления: chdbfl, затем тестирование и исправление, затем проверка данных и итогов. Не помогло — резервная копия или выгрузка в dt. После восстановления настройте ИБП и регулярное копирование, иначе ситуация повторится.

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

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

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

Chdbfl завис на одном месте уже несколько часов — это нормально?

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

После лечения пропали документы за последнюю неделю. Их можно вернуть?

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

Обязательно ли покупать ИБП, если отключения бывают редко?

Для компьютера, на котором лежит рабочая база 1С, ИБП — самая дешёвая страховка из возможных: стоимость простейшей модели несопоставима со стоимостью восстановления данных и простоя. Даже нескольких минут автономии достаточно, чтобы корректно завершить работу 1С и выключить компьютер.

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

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

База лежит в сетевой папке, и отключился не сервер, а компьютер пользователя. Могла ли она повредиться?

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