Что делать, если база 1С не открывается из-за повреждения: от проверки файла до спасения данных
Содержание
Если база данных 1С повреждена, сначала скопируйте папку базы целиком, затем проверьте файл 1Cv8.1CD утилитой chdbfl.exe и запустите в Конфигураторе Администрирование → Тестирование и исправление. Помогло — база открывается, данные на месте. Не помогло — восстанавливайте файлы из резервной копии или переносите данные в новую пустую базу через выгрузку.
Способов вернуть данные четыре, и выбирают их по тому, что осталось живым. Свежий бэкап — самый быстрый путь, если не жалко потерянных часов работы. Нет копии, но база хотя бы запускает Конфигуратор — лечат встроенными средствами. Конфигуратор падает — остаются ручной перенос данных и сторонние утилиты для чтения файла.
Сначала диагноз: какая часть базы пострадала
Повреждение бывает трёх видов, и лечатся они по-разному. Определите свой случай по тексту ошибки и по тому, что вообще запускается.
| Что видите | Что повреждено | С чего начать |
|---|---|---|
Файл базы данных поврежден при входе | Физическая структура файла 1Cv8.1CD | Утилита chdbfl.exe |
Нарушение целостности структуры конфигурации | Конфигурация, хранящаяся в базе | Тестирование и исправление, затем загрузка .cf |
Ошибка формата потока | Чаще кэш или данные конфигурации | Очистка кэша, затем тестирование |
Отчёты врут, «битые ссылки» <Объект не найден> | Логическая целостность данных | Тестирование с проверкой ссылок |
Конфигуратор падает с Неустранимая ошибка | Серьёзное повреждение | Бэкап или ручное извлечение данных |
Первые пять минут: чего не делать
Главная задача до любых исправлений — не сделать хуже. Утилиты исправления удаляют то, что не смогли прочитать. Без копии эти данные не вернуть.
- 🛑 Попросите всех выйти из базы. Закройте сеансы, которые висят.
- 📁 Скопируйте всю папку базы на другой диск:
1Cv8.1CD, папку1Cv8Logс журналом регистрации и прочие файлы рядом. - 💾 Проверьте место на диске. Базе на 10 ГБ для исправления нужно примерно столько же свободного места.
- 🔍 Посмотрите журнал 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\. Номер версии в пути будет вашим. Утилита проверяет физическую целостность файла и работает только с файловыми базами.
- Убедитесь, что в базе нет ни одного пользователя. Утилита требует монопольного доступа.
- Запустите
chdbfl.exeот имени администратора. - Укажите путь к файлу
1Cv8.1CD— лучше к его копии. - Поставьте флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
- Дождитесь окончания. На базе 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
- Создайте в окне запуска новую пустую базу: «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
- Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Подтвердите загрузку и дождитесь сообщения о завершении.
- Запустите базу в режиме «1С:Предприятие» и проверьте последние документы.
Дальше вручную введите то, что появилось после даты копии. Список потерянных документов подскажет журнал регистрации повреждённой базы. Иногда он читается, даже когда сама база не открывается.
Если копия старая
Копия недельной давности плюс частично исправленная повреждённая база — рабочая связка. Из копии берут целостную основу, из исправленной базы — свежие документы за последние дни. Перенос делают выгрузкой в XML, это описано ниже.
Ручной перенос данных в новую базу через выгрузку
Метод для случая, когда исправленная база открывается, но работать в ней страшно: остались ошибки, падения, странные остатки. Данные вытаскивают из неё в чистую базу.
Вариант 1. Выгрузка .dt и загрузка в новую базу
Самый простой путь. Выгрузите базу в .dt через Администрирование → Выгрузить информационную базу, создайте новую пустую базу и загрузите туда файл.
При выгрузке платформа перечитывает все таблицы. Если файл повреждён, выгрузка прервётся с ошибкой — значит, сначала нужен ещё один прогон chdbfl.exe и тестирования. Удачная выгрузка часто сама по себе лечит базу: в новую попадает только читаемое.
Вариант 2. Если повреждена конфигурация
Конфигурацию лечат отдельно от данных.
- Скачайте с портала поддержки поставочный
.cfтого же релиза, что был в базе. Релиз видно в окне «О программе». - В Конфигураторе откройте
Конфигурация → Загрузить конфигурацию из файлаи укажите.cf. - Обновите конфигурацию базы данных. Это требует монопольного доступа.
Если в базе были доработки, загрузка типового .cf сотрёт их. Сначала попробуйте сохранить текущую конфигурацию: Конфигурация → Сохранить конфигурацию в файл. Не сохраняется — восстановите доработки из копии .cf у программиста.
Вариант 3. Выгрузка в XML по частям
Когда .dt не выгружается целиком, данные переносят по объектам. Для этого есть обработка «Выгрузка и загрузка данных XML» из комплекта инструментов разработчика на диске ИТС.
- Создайте новую базу на той же конфигурации и том же релизе.
- В повреждённой базе откройте обработку через
Файл → Открыть. - Выгрузите справочники, затем документы — частями по периодам.
- Если какой-то объект падает с ошибкой, исключите его и выгрузите остальное.
- Загрузите файлы в новую базу той же обработкой.
- Перепроведите документы за период и сверьте остатки с оборотно-сальдовой ведомостью.
Метод трудоёмкий, но спасает почти всё, кроме объектов, которые физически не читаются.
Сторонние утилиты и помощь специалистов
Если ни Конфигуратор, ни пакетный режим базу не открывают, остаётся читать файл 1Cv8.1CD в обход платформы.
- 🧰 Tool_1CD — бесплатная утилита из сообщества разработчиков 1С. Открывает файл как набор таблиц, позволяет посмотреть данные и выгрузить уцелевшие таблицы. Нужен опыт: результат — сырые таблицы, а не готовая база.
- 💿 Программы восстановления дисков — если файл пропал или диск не читается, сначала поднимают файловую систему, потом лечат базу.
- 👨💻 Специалисты по восстановлению — берут сложные случаи, когда файл повреждён посередине. Ориентировочно такие работы стоят от 5–10 тыс. руб. за простую базу до десятков тысяч за тяжёлые случаи. Перед оплатой просите оценку по копии файла.
Отдавайте сторонним утилитам и подрядчикам только копию базы. В ней персональные данные сотрудников и контрагентов, поэтому подрядчика выбирают с договором о конфиденциальности.
Для клиент-серверной базы на MS SQL Server целостность проверяют командой DBCC CHECKDB. Восстановление с параметрами, которые допускают потерю данных, — крайняя мера. Перед ней обязателен полный бэкап, и делать это должен администратор СУБД.
Почему ломается база и как это предотвратить
Знать причину нужно, чтобы через месяц не восстанавливать базу снова.
Типичные причины повреждений
- ⚡ Отключение питания во время записи в базу.
- 🔌 Обрыв сети при работе с файловой базой из общей папки, особенно по Wi-Fi или VPN.
- 🦠 Антивирус, который проверяет
1Cv8.1CDво время работы и блокирует запись. - 💽 Сбойный диск, битые сектора, заполненный до нуля том.
- ❌ Принудительное завершение процесса
1cv8.exeчерез диспетчер задач посреди записи.
Защита: настройки, которые стоит сделать сразу
- Источник бесперебойного питания на компьютере или сервере, где лежит база. Плюс настройка корректного выключения при разряде.
- Исключение в антивирусе для папки базы и расширения
.1CD. - Ежедневная выгрузка
.dtпо расписанию. Встроенное резервное копирование в БП 3.0 и ЗУП 3.1 настраивается вАдминистрирование → Обслуживание. - Правило 3-2-1: три копии, на двух разных носителях, одна вне офиса.
- Проверка копий: раз в месяц загрузите
.dtв тестовую базу. Копия, которая не загружается, не защищает. - Переход на клиент-серверный вариант, если в файловой базе работает больше 5–10 человек или есть удалённые подключения.
- Плановое тестирование: раз в квартал прогон
chdbfl.exeи тестирования в режиме без исправления.
Выгрузку .dt можно запускать пакетно из планировщика Windows ночью: 1cv8.exe DESIGNER /F"путь_к_базе" /DumpIB"путь_к_файлу.dt". Ночью в базе никого нет, и монопольный доступ не мешает работе.