Администрирование · 10 мин
База данных 1С повреждена: как исправить и восстановить работу
Что делать, если база данных 1С повреждена: диагностика, тестирование и исправление, chdbfl, восстановление из резервной копии, типичные ошибки и профилактика.
Сообщение «база данных повреждена» в 1С появляется при попытке входа в информационную базу, во время проведения документов или при формировании отчётов. Причины чаще всего одни и те же: аварийное завершение работы (отключение электричества, зависание), сбой жёсткого диска, проблемы с сетью при файловом режиме, работа антивируса с файлами базы или нехватка свободного места на диске.
Повреждение бывает логическим и физическим. Логическое — нарушена структура таблиц или индексов, но сам файл читается. Физическое — файл базы частично или полностью не читается с диска. Логические повреждения в большинстве случаев устраняются штатными средствами 1С, физические требуют восстановления из резервной копии или работы со специализированными утилитами.
Главное правило до начала любых действий: сделайте копию повреждённой базы. Любое исправление может усугубить ситуацию, и без исходной копии откатиться будет невозможно. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD, для клиент-серверной — создать резервную копию средствами СУБД или выгрузку через конфигуратор, если вход в него ещё возможен.
Как определить тип и масштаб повреждения
По характеру ошибки можно предварительно оценить ситуацию и выбрать инструмент. Если база не открывается вообще и 1С выдаёт ошибку формата потока или «файл базы данных повреждён» с указанием пути к 1Cv8.1CD — вероятно повреждение самого файла. Если вход выполняется, но падают отдельные операции (проведение документа, отчёт по конкретному регистру) — чаще это логические ошибки в таблицах или индексах.
Проверьте также внешние факторы: свободное место на диске, состояние диска через стандартные средства ОС, доступность сетевого ресурса, если база лежит на сетевой папке. Нередко «повреждённая» база оказывается исправной, а проблема — в обрыве сети или правах доступа.
Проверить chdbfl и целостность файла 1Cv8.1CD
Запустить тестирование и исправление в конфигураторе
Скопировать базу локально и проверить повторно
chdbfl, затем тестирование и исправление
Шаг ноль: резервная копия перед любыми исправлениями
До запуска любых утилит завершите работу всех пользователей с базой и скопируйте данные. Для файловой базы закройте 1С и скопируйте весь каталог базы целиком — минимум файл 1Cv8.1CD. Это займёт несколько минут, но сохранит возможность вернуться к исходному состоянию, если исправление пройдёт неудачно.
Для клиент-серверной базы (MS SQL, PostgreSQL) используйте штатные средства СУБД: полный бэкап базы данных. Если сервер СУБД работает, это надёжнее, чем выгрузка dt через конфигуратор, которая может оборваться на повреждённых данных.
Исправление файловой базы утилитой chdbfl
Chdbfl.exe — штатная утилита проверки физической целостности файловых баз, входит в состав платформы 1С. Находится в каталоге установки платформы, в папке bin соответствующей версии (например, C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe).
Порядок работы: закройте все сеансы 1С, запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита проверит физическую структуру файла и попытается исправить повреждённые участки. Процесс может занять от нескольких минут до часов в зависимости от размера базы.
После завершения утилита покажет отчёт: сколько ошибок найдено и исправлено. Учтите ограничение: chdbfl работает только с физической целостностью файла. Логические ошибки в данных она не исправляет — для них нужен конфигуратор.
- 1Завершить все сеансы 1С и сделать копию каталога базы
- 2Запустить chdbfl.exe из папки bin установленной платформы
- 3Указать путь к файлу 1Cv8.1CD повреждённой базы
- 4Отметить флажок «Исправлять обнаруженные ошибки» и нажать «Выполнить»
- 5Дождаться отчёта и проверить вход в базу через конфигуратор
Тестирование и исправление в конфигураторе
Если база открывается в конфигураторе, запустите штатную процедуру: меню «Администрирование» → «Тестирование и исправление». Инструмент проверяет логическую целостность данных и умеет исправлять многие ошибки: битые ссылки, нарушенные индексы, ошибки в таблицах итогов.
Рекомендуемый набор проверок при повреждении: реиндексация таблиц, проверка логической целостности, проверка ссылочной целостности. Проверку физической целостности файловой базы имеет смысл выполнять только после chdbfl. Режим «Очистка ссылок» при удалении объектов с битой ссылкой используйте осторожно: вариант «Удалять объект» физически удалит данные, безопаснее сначала выбрать «Не изменять» и изучить список проблем.
Процедуру запускайте в монопольном режиме. На больших базах тестирование может идти долго — не прерывайте его принудительно, это рискует добавить новые повреждения.
Как выбрать действие
Восстановление из резервной копии
Если исправление не дало результата или повреждение физическое, самый надёжный путь — развернуть последнюю рабочую резервную копию. Для файловой базы это копия каталога или файла .dt, для клиент-серверной — бэкап СУБД. После восстановления проверьте, какие данные введены после даты копии, и восстановите их вручную или переносом из повреждённой базы, если она частично открывается.
Практический приём: если повреждённая база открывается хотя бы частично, выгрузите из неё свежие документы через обработку выгрузки данных или скопируйте их вручную по журналам, прежде чем откатываться на старую копию. Так потери сведутся к минимуму.
Типичные ошибки при восстановлении
Отдельно отметим работу антивируса: добавьте каталоги с базами 1С и временные каталоги платформы в исключения проверки в реальном времени. Это снижает и риск повреждений, и нагрузку на диск.
Проверка результата и профилактика
После исправления проверьте базу комплексно: вход под несколькими пользователями, проведение типовых документов, формирование основных отчётов, отсутствие ошибок в журнале регистрации. Затем повторно запустите тестирование (без исправления) — оно должно завершиться без ошибок.
Как проверить результат
Вход выполняется без ошибок у всех пользователей
Ошибка формата потока или сообщение о повреждении
Проверки завершаются без найденных ошибок
Ошибки находятся снова — искать причину (диск, сеть)
Нет массовых ошибок при типовых операциях
Регулярные ошибки при проведении или чтении
SMART без критических атрибутов, место в норме
Перераспределённые сектора, нехватка места
Для профилактики настройте регулярное автоматическое резервное копирование, используйте ИБП на сервере и рабочих станциях, следите за свободным местом и состоянием дисков, а для многопользовательской работы рассмотрите переход с файлового режима на клиент-серверный — он значительно устойчивее к повреждениям.
Что важно запомнить
Копия базы перед исправлением — обязательна. Порядок действий: chdbfl для файловой базы, затем тестирование и исправление в конфигураторе, при неудаче — восстановление из резервной копии. После ремонта устраните первопричину: диск, сеть, антивирус или отключения питания.
Частые вопросы
Можно ли исправить базу 1С без конфигуратора?
Частично — да: утилита chdbfl.exe работает автономно и исправляет физические повреждения файловой базы без запуска конфигуратора. Но для логических ошибок (битые ссылки, сбойные индексы) без конфигуратора не обойтись, поэтому полноценное восстановление обычно включает оба инструмента.
Что делать, если chdbfl не нашёл ошибок, а база не открывается?
Значит, проблема не в физической структуре файла. Проверьте версию платформы (база могла быть открыта более новой версией и конвертирована), права доступа к каталогу, целостность служебных файлов. Попробуйте открыть базу в конфигураторе и запустить тестирование. Если не помогает — восстанавливайте из резервной копии.
Удалит ли тестирование и исправление мои данные?
Может, если выбраны агрессивные варианты обработки битых ссылок — например, «Удалять объект» при очистке ссылок. Чтобы ничего не потерять, на первом проходе выбирайте вариант «Не изменять» для ссылочной целостности, изучите список ошибок и только потом решайте, что удалять.
База лежит на сетевой папке и периодически портится. Что делать?
Файловый режим по сети — частая причина повреждений из-за обрывов соединения и кэширования записи. Варианты решения: перенести базу на терминальный сервер, перейти на клиент-серверный режим (MS SQL, PostgreSQL) или опубликовать базу на веб-сервере. Любой из вариантов устраняет запись в файл по сети напрямую.
Как понять, что проблема в диске, а не в 1С?
Проверьте SMART диска штатными средствами ОС или диагностическими утилитами, посмотрите системный журнал событий на ошибки чтения/записи. Если другие файлы на том же диске тоже повреждаются или читаются с ошибками — база 1С здесь жертва, а не причина. Сначала замените диск и перенесите данные, потом исправляйте базу.
Нет ни одной резервной копии, а база не восстанавливается. Это конец?
Не обязательно. Существуют специализированные утилиты и сервисы восстановления данных из повреждённых файлов 1Cv8.1CD, которые извлекают таблицы даже из сильно повреждённых файлов. Самостоятельно можно попробовать скопировать файл с проблемного диска средствами, устойчивыми к сбойным секторам, и повторить chdbfl на копии. Дальнейшую работу лучше доверить специалистам по восстановлению данных.