Если 1С пишет «Ошибка СУБД: файл базы данных поврежден» или просто перестала открывать файловую базу, почти всегда причина в том, что файл 1Cv8.1CD испортился при аварийном завершении работы: пропал свет, выключили компьютер с базой, оборвалась сеть. Порядок действий такой: сначала сделать копию файла 1Cv8.1CD, затем проверить его штатной утилитой chdbfl.exe с галочкой «Исправлять обнаруженные ошибки», при необходимости запустить тестирование и исправление в конфигураторе и сразу выгрузить базу в dt. Если есть свежая резервная копия, часто проще и надёжнее восстановиться из неё.
Ниже разбираю каждый шаг подробно и объясняю, где можно сделать хуже, чем было.
Почему файл базы 1С повреждается
Файловая база 1С — это один большой файл 1Cv8.1CD в папке информационной базы. Пока с ним работают, платформа постоянно пишет в него данные. Если запись прервалась на середине, часть страниц файла остаётся в неконсистентном состоянии, и при следующем обращении к ним 1С сообщает об ошибке СУБД.
Типовые причины, которые я встречаю на практике и которые описывают методисты 1С:
- Отключение электричества без бесперебойника на компьютере или сервере, где лежит база.
- Выключение «главного» компьютера, на котором хранится база, пока другие пользователи продолжают работать по сети.
- Обрыв сети в момент записи: Wi-Fi, слабый роутер, VPN до удалённого офиса.
- Проблемы диска: битые сектора, переполненный диск, сбойная флешка или внешний диск, если база лежит там.
- Вмешательство сторонних программ: антивирус, облачная синхронизация (Яндекс Диск, OneDrive, Google Drive) или резервное копирование, которые трогают открытый файл базы.
Характерный признак: ошибка вылезает не сразу при запуске, а при открытии или проведении конкретного документа, создании элемента справочника, формировании отчёта. Это значит, что повреждена часть таблиц, а не весь файл. Если же база не открывается совсем, повреждение затронуло служебные структуры.
Шаг 0. Ничего не трогайте, пока не сделали копию
Это главное правило. И утилита проверки, и тестирование в конфигураторе меняют файл. Если что-то пойдёт не так, без копии откатиться будет некуда.
- Попросите всех пользователей выйти из 1С. Убедитесь, что на компьютере с базой не висят процессы 1cv8.exe или 1cv8c.exe.
- Найдите папку базы. Путь виден внизу окна запуска 1С, когда база выделена в списке.
- Скопируйте всю папку базы, а не только файл 1Cv8.1CD, на другой диск или в другую папку. Назовите копию понятно, например с датой.
- Если есть автоматические бэкапы, проверьте, какая копия последняя и открывается ли она. Иногда правильный ответ — просто восстановиться из неё и заново внести данные за день.
Не запускайте проверку на единственном экземпляре файла и не копируйте базу в облачную папку, пока не убедились, что синхронизация не трогает исходник.
Шаг 1. Проверка и исправление утилитой chdbfl.exe
chdbfl.exe — штатная утилита проверки физической целостности файловой базы. Она ставится вместе с платформой, скачивать её отдельно не нужно и небезопасно: под видом утилиты в интернете легко поймать вредоносный файл.
- Откройте папку bin установленной платформы, например
C:\Program Files\1cv8\8.3.xx.xxxx\bin(у 32-битной платформы —C:\Program Files (x86)\1cv8\...). Номер версии — ваш. - Запустите chdbfl.exe.
- В поле «Имя файла БД» укажите файл 1Cv8.1CD повреждённой базы.
- Сначала можно запустить проверку без исправления, чтобы увидеть масштаб проблемы. Затем включите галочку «Исправлять обнаруженные ошибки» — без неё утилита только проверяет.
- Нажмите «Выполнить» и дождитесь окончания. На большой базе это занимает долго, не прерывайте процесс.
Если база лежит на сервере или в общей папке, запускайте утилиту на том компьютере, где лежит файл. Если кто-то остался в базе, проверка не начнётся и появится ошибка совместного доступа.
После завершения откройте базу и попробуйте сделать то, на чём вылезала ошибка: открыть и провести тот же документ. Сообщение «Ошибок не обнаружено» не всегда значит, что всё в порядке — проверяйте на практике.
Важно: chdbfl.exe работает только с файловыми базами. Если у вас клиент-серверный вариант на MS SQL или PostgreSQL, утилита не подходит — там повреждения ищут средствами СУБД.

Шаг 2. Тестирование и исправление в конфигураторе
Если база открывается хотя бы в конфигураторе, следующий шаг — логическая проверка.
- Запустите базу в режиме «Конфигуратор».
- Откройте «Администрирование» → «Тестирование и исправление».
- Выберите режим «Тестирование и исправление ошибок». Режим «Только тестирование» лишь покажет проблемы.
- Отметьте проверки по ситуации:
- Реиндексация таблиц — восстанавливает индексы, сбитые при сбое;
- Проверка логической целостности — ищет ошибки в структуре таблиц после внезапного выключения или обрыва сети;
- Проверка ссылочной целостности — находит битые ссылки на несуществующие объекты; для них выбирается действие: создать объекты-заглушки, очистить ссылки или удалить объекты;
- Пересчёт итогов — помогает, когда отчёты показывают то, чего нет в документах;
- Сжатие таблиц — физически удаляет записи, помеченные на удаление, и уменьшает файл;
- Реструктуризация таблиц — пересоздаёт таблицы и переносит в них данные, иногда это лечит то, что не исправили другие проверки.
- Запустите и дождитесь окончания.
Со ссылочной целостностью будьте осторожны: вариант «Удалить объекты» может удалить документы, которые ещё можно было восстановить вручную. Если не уверены, выбирайте «Создать объекты» — заглушки потом видно и можно разобрать.
Шаг 3. Выгрузка в dt и загрузка в новую базу
Даже если база после исправления открылась, я сразу делаю выгрузку в файл dt. Это одновременно и свежая резервная копия, и способ «пересобрать» файл базы начисто.
- В конфигураторе: «Администрирование» → «Выгрузить информационную базу». Сохраните файл .dt в надёжное место.
- Если выгрузка прошла без ошибок, создайте новую пустую информационную базу в окне запуска.
- Откройте её в конфигураторе и выполните «Администрирование» → «Загрузить информационную базу», указав сохранённый dt.
- Проверьте новую базу: остатки, последние документы, отчёты. Если всё в порядке, работайте в ней, а старую папку оставьте в архиве.
Если выгрузка в dt падает с ошибкой, значит повреждения остались, и это сигнал к следующему шагу.
Таблица: сообщение, причина, что делать
| Что видите | Вероятная причина | Что делать |
|---|---|---|
| «Ошибка СУБД: файл базы данных поврежден» при открытии документа | Повреждены отдельные таблицы после сбоя | Копия папки, chdbfl с исправлением, затем тестирование и исправление |
| База не открывается ни в пользовательском режиме, ни в конфигураторе | Повреждены служебные структуры файла | Копия, chdbfl; если не помогло — восстановление из бэкапа или специалист |
| chdbfl не запускает проверку, ругается на доступ | В базе остались пользователи или процесс 1С | Закрыть все сеансы и процессы, запускать на компьютере с базой |
| Отчёты показывают странные остатки после сбоя | Сбиты итоги регистров | Пересчёт итогов в тестировании и исправлении |
| Выгрузка в dt прерывается с ошибкой | Повреждение не устранено | Не работать в базе, восстанавливаться из копии или звать специалиста |
| Ошибка повторяется раз в несколько недель | Причина не устранена: свет, сеть, диск, синхронизация | Найти источник сбоев, настроить бесперебойник и бэкапы |
Когда нужна помощь специалиста
Самостоятельно стоит пройти шаги выше. Остановиться и позвать специалиста я советую, если:
- chdbfl и тестирование не помогли, а свежей резервной копии нет;
- база не открывается в конфигураторе и выгрузить её в dt невозможно;
- в базе критичные данные за большой период, и ошибка в выборе действий может стоить недель ручного ввода;
- повреждение повторяется и непонятно, откуда оно берётся.
В таких случаях данные часто удаётся вытащить из повреждённого файла по частям: найти уцелевшие таблицы, перенести их в чистую базу и разобраться с битыми документами. Это кропотливая работа, и делать её нужно строго на копии файла. Прямые попытки «наугад» на оригинале чаще всего ухудшают ситуацию.
Как не попасть в это снова
- Поставьте бесперебойник на компьютер или сервер с базой.
- Не выключайте «главный» компьютер, пока другие работают в базе.
- Не держите рабочую базу в облачной папке с синхронизацией.
- Настройте автоматическое резервное копирование с хранением нескольких копий на другом диске — подробно разбирал в статье про настройку резервного копирования 1С.
- Если в базе по сети работает много людей одновременно, задумайтесь о клиент-серверном варианте или терминальном доступе: файловая база по сети особенно чувствительна к обрывам.
Короткий чек-лист
- Все вышли из базы, процессов 1С нет.
- Скопирована вся папка базы на другой диск.
- Проверена последняя резервная копия — может, проще восстановиться из неё.
- chdbfl.exe из папки bin платформы, галочка «Исправлять обнаруженные ошибки».
- Конфигуратор: «Администрирование» → «Тестирование и исправление».
- Выгрузка в dt и загрузка в новую чистую базу.
- Проверка остатков и последних документов.
- Устранена причина сбоя и настроены бэкапы.
Если восстановить базу самостоятельно не получается или страшно потерять данные, помогу удалённо: восстановлю повреждённую базу 1С, настрою резервное копирование, чтобы такой сбой больше не стоил вам данных, или просто подскажу порядок действий на консультации.




