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

Администрирование · 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 работает только с физической целостностью файла. Логические ошибки в данных она не исправляет — для них нужен конфигуратор.

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

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

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

Рекомендуемый набор проверок при повреждении: реиндексация таблиц, проверка логической целостности, проверка ссылочной целостности. Проверку физической целостности файловой базы имеет смысл выполнять только после chdbfl. Режим «Очистка ссылок» при удалении объектов с битой ссылкой используйте осторожно: вариант «Удалять объект» физически удалит данные, безопаснее сначала выбрать «Не изменять» и изучить список проблем.

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

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

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

База файловая и вообще не открываетсяСначала chdbfl, затем тестирование и исправление в конфигураторе
База открывается, но падают отдельные операцииТестирование и исправление с реиндексацией и проверкой ссылочной целостности
Штатные средства не помоглиВосстановление из последней резервной копии и перенос разницы данных
База клиент-серверная на SQLПроверка средствами СУБД (например, DBCC CHECKDB для MS SQL) и бэкап/восстановление

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

Если исправление не дало результата или повреждение физическое, самый надёжный путь — развернуть последнюю рабочую резервную копию. Для файловой базы это копия каталога или файла .dt, для клиент-серверной — бэкап СУБД. После восстановления проверьте, какие данные введены после даты копии, и восстановите их вручную или переносом из повреждённой базы, если она частично открывается.

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

Типичные ошибки при восстановлении

Типичные ошибки
01
Запуск исправления без копии — при неудаче восстанавливать нечего
02
Прерывание тестирования и исправления — добавляет новые повреждения к существующим
03
Хранение базы на сетевой папке в файловом режиме — обрывы сети регулярно портят файл
04
Антивирус сканирует каталог базы — блокировки файла во время записи приводят к ошибкам
05
Игнорирование состояния диска — база «исправляется», но портится снова из-за сбойного HDD/SSD

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

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

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

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

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

Вход в базу
Норма

Вход выполняется без ошибок у всех пользователей

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

Ошибка формата потока или сообщение о повреждении

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

Проверки завершаются без найденных ошибок

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

Ошибки находятся снова — искать причину (диск, сеть)

Журнал регистрации
Норма

Нет массовых ошибок при типовых операциях

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

Регулярные ошибки при проведении или чтении

Состояние диска
Норма

SMART без критических атрибутов, место в норме

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

Перераспределённые сектора, нехватка места

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

Итог

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

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

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

Можно ли исправить базу 1С без конфигуратора?

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

Что делать, если chdbfl не нашёл ошибок, а база не открывается?

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

Удалит ли тестирование и исправление мои данные?

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

База лежит на сетевой папке и периодически портится. Что делать?

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

Как понять, что проблема в диске, а не в 1С?

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

Нет ни одной резервной копии, а база не восстанавливается. Это конец?

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