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