Что делать, если база 1С не открывается из-за повреждения: от проверки файла до спасения данных

· 9 мин

Содержание

Если база данных 1С повреждена, сначала скопируйте папку базы целиком, затем проверьте файл 1Cv8.1CD утилитой chdbfl.exe и запустите в Конфигураторе Администрирование → Тестирование и исправление. Помогло — база открывается, данные на месте. Не помогло — восстанавливайте файлы из резервной копии или переносите данные в новую пустую базу через выгрузку.

Способов вернуть данные четыре, и выбирают их по тому, что осталось живым. Свежий бэкап — самый быстрый путь, если не жалко потерянных часов работы. Нет копии, но база хотя бы запускает Конфигуратор — лечат встроенными средствами. Конфигуратор падает — остаются ручной перенос данных и сторонние утилиты для чтения файла.

Сначала диагноз: какая часть базы пострадала

Повреждение бывает трёх видов, и лечатся они по-разному. Определите свой случай по тексту ошибки и по тому, что вообще запускается.

Что видитеЧто поврежденоС чего начать
Файл базы данных поврежден при входеФизическая структура файла 1Cv8.1CDУтилита chdbfl.exe
Нарушение целостности структуры конфигурацииКонфигурация, хранящаяся в базеТестирование и исправление, затем загрузка .cf
Ошибка формата потокаЧаще кэш или данные конфигурацииОчистка кэша, затем тестирование
Отчёты врут, «битые ссылки» <Объект не найден>Логическая целостность данныхТестирование с проверкой ссылок
Конфигуратор падает с Неустранимая ошибкаСерьёзное повреждениеБэкап или ручное извлечение данных
Диагностика: выберите симптом

Первые пять минут: чего не делать

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

  1. 🛑 Попросите всех выйти из базы. Закройте сеансы, которые висят.
  2. 📁 Скопируйте всю папку базы на другой диск: 1Cv8.1CD, папку 1Cv8Log с журналом регистрации и прочие файлы рядом.
  3. 💾 Проверьте место на диске. Базе на 10 ГБ для исправления нужно примерно столько же свободного места.
  4. 🔍 Посмотрите журнал Windows: ошибки диска (disk, Ntfs) говорят о том, что сначала надо спасать сам носитель.

Не запускайте исправление на единственном экземпляре файла. Если диск сыплется, каждый новый прогон утилиты может уничтожить ещё часть данных. Сначала копия на исправный носитель, потом работа с копией.

Для клиент-серверной базы копию делают средствами СУБД: полный бэкап в MS SQL Server или pg_dump в PostgreSQL. Файла 1Cv8.1CD там нет, данные живут в таблицах СУБД.

Восстановление базы 1С встроенными средствами

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

Утилита chdbfl.exe для файловой базы

chdbfl.exe лежит в папке bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\. Номер версии в пути будет вашим. Утилита проверяет физическую целостность файла и работает только с файловыми базами.

  1. Убедитесь, что в базе нет ни одного пользователя. Утилита требует монопольного доступа.
  2. Запустите chdbfl.exe от имени администратора.
  3. Укажите путь к файлу 1Cv8.1CD — лучше к его копии.
  4. Поставьте флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
  5. Дождитесь окончания. На базе 20–30 ГБ проверка идёт десятки минут.

Если утилита пишет, что ошибок нет, а база всё равно не открывается, — повреждение глубже файловой структуры. Переходите к тестированию в Конфигураторе.

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

Откройте базу в режиме Конфигуратора и выберите Администрирование → Тестирование и исправление. Режим требует монопольного доступа, поэтому все пользователи должны выйти.

Набор флажков для повреждённой базы:

  • ✅ Реиндексация таблиц информационной базы.
  • ✅ Проверка логической целостности информационной базы.
  • ✅ Проверка ссылочной целостности информационной базы.
  • ✅ Пересчёт итогов.
  • ✅ Сжатие таблиц информационной базы — для файловой базы.
  • ⏸ Реструктуризацию таблиц включайте вторым прогоном, если первый не помог: на большой базе она идёт долго.

Ниже выберите режим «Тестирование и исправление». Затем решите, что делать с найденными проблемами:

СитуацияВариантЧто произойдёт
Ссылки на несуществующие объектыСоздавать объектыПоявятся объекты-заглушки, их видно и можно разобрать вручную
Ссылки на несуществующие объектыОчищать ссылкиПоля станут пустыми, след потеряется
Частичная потеря данных объектаСоздавать объекты / Удалять объектыЗаглушка или удаление повреждённого объекта

Выбирайте «Создавать объекты». Заглушки потом легко найти по названию вида «Объект не найден» и восстановить вручную по первичке. Очищенную ссылку восстановить не из чего.

Сначала можно запустить режим «Тестирование» без исправления. Он покажет масштаб проблемы в протоколе и ничего не изменит.

Пакетный запуск, если Конфигуратор не открывается в окне

Иногда интерфейс Конфигуратора падает, а пакетный режим проходит. Тестирование запускают из командной строки:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals -IBCompression /Out"D:\Bases\check.log" /DisableStartupDialogs

Путь к платформе, к базе и имя пользователя замените на свои. Результат проверки попадёт в файл check.log. Подробный перечень ключей — в справке 1cv8.exe по параметрам командной строки.

Восстановление базы 1С из резервной копии

Бэкап — самый надёжный путь. Вопрос только в том, какая копия есть и насколько она свежая.

Какие бывают резервные копии

Тип копииГде искатьКак восстановить
Файл выгрузки .dtПапка, куда настроено автокопированиеКонфигуратор → Администрирование → Загрузить информационную базу
Копия 1Cv8.1CDСетевой диск, NAS, облакоПодменить файл в папке базы
Архив из программыАдминистрирование → Обслуживание → Резервное копирование и восстановление в БП 3.0, ЗУП 3.1Там же, команда восстановления
Бэкап СУБДСервер SQLСредствами MS SQL или PostgreSQL
Теневая копия WindowsСвойства папки → «Предыдущие версии»Скопировать файл из нужной точки

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

Порядок восстановления из .dt

  1. Создайте в окне запуска новую пустую базу: «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
  2. Откройте её в Конфигураторе.
  3. Выберите Администрирование → Загрузить информационную базу и укажите файл .dt.
  4. Подтвердите загрузку и дождитесь сообщения о завершении.
  5. Запустите базу в режиме «1С:Предприятие» и проверьте последние документы.

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

Если копия старая

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

Ручной перенос данных в новую базу через выгрузку

Метод для случая, когда исправленная база открывается, но работать в ней страшно: остались ошибки, падения, странные остатки. Данные вытаскивают из неё в чистую базу.

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

Самый простой путь. Выгрузите базу в .dt через Администрирование → Выгрузить информационную базу, создайте новую пустую базу и загрузите туда файл.

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

Вариант 2. Если повреждена конфигурация

Конфигурацию лечат отдельно от данных.

  1. Скачайте с портала поддержки поставочный .cf того же релиза, что был в базе. Релиз видно в окне «О программе».
  2. В Конфигураторе откройте Конфигурация → Загрузить конфигурацию из файла и укажите .cf.
  3. Обновите конфигурацию базы данных. Это требует монопольного доступа.

Если в базе были доработки, загрузка типового .cf сотрёт их. Сначала попробуйте сохранить текущую конфигурацию: Конфигурация → Сохранить конфигурацию в файл. Не сохраняется — восстановите доработки из копии .cf у программиста.

Вариант 3. Выгрузка в XML по частям

Когда .dt не выгружается целиком, данные переносят по объектам. Для этого есть обработка «Выгрузка и загрузка данных XML» из комплекта инструментов разработчика на диске ИТС.

  1. Создайте новую базу на той же конфигурации и том же релизе.
  2. В повреждённой базе откройте обработку через Файл → Открыть.
  3. Выгрузите справочники, затем документы — частями по периодам.
  4. Если какой-то объект падает с ошибкой, исключите его и выгрузите остальное.
  5. Загрузите файлы в новую базу той же обработкой.
  6. Перепроведите документы за период и сверьте остатки с оборотно-сальдовой ведомостью.

Метод трудоёмкий, но спасает почти всё, кроме объектов, которые физически не читаются.

Сторонние утилиты и помощь специалистов

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

  • 🧰 Tool_1CD — бесплатная утилита из сообщества разработчиков 1С. Открывает файл как набор таблиц, позволяет посмотреть данные и выгрузить уцелевшие таблицы. Нужен опыт: результат — сырые таблицы, а не готовая база.
  • 💿 Программы восстановления дисков — если файл пропал или диск не читается, сначала поднимают файловую систему, потом лечат базу.
  • 👨‍💻 Специалисты по восстановлению — берут сложные случаи, когда файл повреждён посередине. Ориентировочно такие работы стоят от 5–10 тыс. руб. за простую базу до десятков тысяч за тяжёлые случаи. Перед оплатой просите оценку по копии файла.

Отдавайте сторонним утилитам и подрядчикам только копию базы. В ней персональные данные сотрудников и контрагентов, поэтому подрядчика выбирают с договором о конфиденциальности.

Для клиент-серверной базы на MS SQL Server целостность проверяют командой DBCC CHECKDB. Восстановление с параметрами, которые допускают потерю данных, — крайняя мера. Перед ней обязателен полный бэкап, и делать это должен администратор СУБД.

Почему ломается база и как это предотвратить

Знать причину нужно, чтобы через месяц не восстанавливать базу снова.

Типичные причины повреждений

  • ⚡ Отключение питания во время записи в базу.
  • 🔌 Обрыв сети при работе с файловой базой из общей папки, особенно по Wi-Fi или VPN.
  • 🦠 Антивирус, который проверяет 1Cv8.1CD во время работы и блокирует запись.
  • 💽 Сбойный диск, битые сектора, заполненный до нуля том.
  • ❌ Принудительное завершение процесса 1cv8.exe через диспетчер задач посреди записи.

Защита: настройки, которые стоит сделать сразу

  1. Источник бесперебойного питания на компьютере или сервере, где лежит база. Плюс настройка корректного выключения при разряде.
  2. Исключение в антивирусе для папки базы и расширения .1CD.
  3. Ежедневная выгрузка .dt по расписанию. Встроенное резервное копирование в БП 3.0 и ЗУП 3.1 настраивается в Администрирование → Обслуживание.
  4. Правило 3-2-1: три копии, на двух разных носителях, одна вне офиса.
  5. Проверка копий: раз в месяц загрузите .dt в тестовую базу. Копия, которая не загружается, не защищает.
  6. Переход на клиент-серверный вариант, если в файловой базе работает больше 5–10 человек или есть удалённые подключения.
  7. Плановое тестирование: раз в квартал прогон chdbfl.exe и тестирования в режиме без исправления.

Выгрузку .dt можно запускать пакетно из планировщика Windows ночью: 1cv8.exe DESIGNER /F"путь_к_базе" /DumpIB"путь_к_файлу.dt". Ночью в базе никого нет, и монопольный доступ не мешает работе.

Защита базы от повторного сбоя
Выполнено: 0 / 6

Частые вопросы о повреждённой базе 1С

Можно ли восстановить документы, удалённые при исправлении базы?
Только из копии, сделанной до исправления. Поэтому копию папки базы делают до запуска chdbfl.exe и тестирования.
Сколько времени занимает тестирование и исправление?
На базе 2–5 ГБ — от 10 до 30 минут. На базах в десятки гигабайт с реструктуризацией — несколько часов. Запускайте вечером или в выходные.
Почему база ломается снова через неделю после исправления?
Причина не устранена: сбоит диск, нет ИБП, антивирус проверяет файл или база открыта по нестабильной сети. Проверьте диск и условия работы до повторного исправления.
Подходит ли chdbfl.exe для серверной базы?
Нет, утилита работает только с файлом 1Cv8.1CD. Для клиент-серверной базы используют тестирование в Конфигураторе и средства проверки самой СУБД.
Помогает ли от повреждения очистка кэша?
Только когда ошибка в локальном кэше клиента, например при «Ошибке формата потока» на одном компьютере. Повреждённый файл базы очистка кэша не лечит.