База 1С не открывается из-за сбоя файла: восстановление по шагам

· 10 мин

Содержание

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

Обычно ошибка выглядит так: Ошибка СУБД: Файл базы данных поврежден. Рядом в журнале или в окне ошибки могут быть Ошибка формата потока или Нарушена целостность структуры конфигурации. Чаще всего файл повреждают внезапное отключение питания, обрыв сети при работе с базой в общей папке, сбойный диск и антивирус, который проверяет файл базы во время записи.

Первые действия при повреждении файла базы

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

  1. Попросите всех выйти из базы. Проверьте, что процессов 1cv8.exe и 1cv8c.exe с этой базой не осталось ни у кого.
  2. Откройте папку базы. Путь виден в окне запуска: выделите базу в списке, внизу окна будет строка File="...".
  3. Скопируйте всю папку на другой диск или в другую папку. Назовите её с датой, например Base_broken_2026-10-07.
  4. Посмотрите размер 1Cv8.1CD. Если файл весит 0 байт или заметно меньше вчерашнего, лечить утилитами почти нечего — сразу идите к резервной копии.
  5. Проверьте диск. В Windows это chkdsk D: (без ключей — только проверка). Если диск сыплет ошибками, переносите копию базы на исправный носитель и работайте уже с ней.

Файл 1Cv8.1CL рядом с базой — файл блокировки. Удалять его можно только когда точно никто не работает в базе, иначе оборвёте чужие сеансы и рискуете повредить базу ещё раз.

Что лежит в папке файловой базы:

Файл или папкаЧто этоМожно ли трогать
1Cv8.1CDсама база: данные и конфигурациятолько копировать, лечить — на копии
1Cv8.1CLблокировка, пока база открытаудалить можно при закрытой базе
1Cv8Logжурнал регистрациине нужен для восстановления данных, но помогает найти момент сбоя
Диагностика: выберите симптом

Восстановление из резервной копии — самый надёжный путь

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

Какая копия у вас может быть

  • 📦 Выгрузка .dt — делается в конфигураторе через Администрирование → Выгрузить информационную базу.
  • 🗂 Копия файла 1Cv8.1CD — сделанная скриптом, программой резервного копирования или вручную при закрытой базе.
  • 🔁 Копия из самой программы. В типовых конфигурациях на БСП для файловых баз есть Администрирование → Обслуживание → Резервное копирование и восстановление. Программа сама складывает копии в указанную папку.
  • ☁️ Копия облачного сервиса или NAS — снапшот папки на определённый момент.

Как вернуть базу из выгрузки .dt

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

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

Как вернуть копию файла 1Cv8.1CD

Здесь всё проще: при закрытой базе подменяете файл 1Cv8.1CD в папке базы на файл из копии. Повреждённый файл не удаляйте, а переименуйте — например, в 1Cv8_broken.1CD.

Что делать с данными после даты копии

Копия недельной давности означает неделю потерянных документов. Варианты:

  • вылечить повреждённый файл (следующий раздел) и сравнить его с копией;
  • если лечение прошло успешно, работать в вылеченной базе, а копию держать для сверки;
  • если лечение не помогло — восстановить из копии и внести документы заново по первичке, банковским выпискам и данным ЭДО.

Лечение файла 1Cv8.1CD утилитой chdbfl

chdbfl.exe — штатная утилита платформы для проверки физической целостности файловой базы. Она лежит в папке bin установленной версии платформы, например: C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.

Утилита работает только с файловыми базами и только с закрытым файлом: пока кто-то в базе, она файл не получит.

Порядок работы

  1. Убедитесь, что копия папки базы сделана (первый раздел).
  2. Запустите chdbfl.exe от имени администратора. Берите утилиту из той же версии платформы, на которой работает база, или из более новой.
  3. В поле имени файла укажите путь к 1Cv8.1CD.
  4. Сначала запустите проверку без исправления: снимите флажок исправления ошибок и нажмите «Выполнить». Посмотрите, сколько ошибок найдено.
  5. Затем включите флажок исправления обнаруженных ошибок и запустите ещё раз.
  6. Повторяйте запуск, пока утилита не перестанет находить ошибки. Обычно хватает одного-двух проходов.
  7. После chdbfl обязательно сделайте тестирование и исправление в конфигураторе (раздел ниже). Утилита чинит структуру файла, но не проверяет логику данных.

Исправление в chdbfl может удалить повреждённые записи безвозвратно — запускайте его только на базе, копия которой уже лежит в надёжном месте.

Если chdbfl не справилась

  • ❌ Утилита падает или зависает на одном и том же месте — попробуйте chdbfl.exe из более новой версии платформы.
  • ❌ Ошибки остаются после нескольких проходов — переходите к выгрузке: попробуйте открыть базу в конфигураторе и сделать выгрузку .dt. Если выгрузка прошла, загрузите её в новую базу. Загрузка сама по себе пересобирает файл и часто убирает остатки повреждения.
  • ❌ Конфигуратор не открывает базу вообще — остаются резервная копия или помощь специалистов (последний раздел).

Если база на SQL: проверка на стороне СУБД

В клиент-серверном варианте файла 1Cv8.1CD нет, и chdbfl не применяется. Данные лежат в Microsoft SQL Server или PostgreSQL, поэтому физическую целостность проверяют средствами СУБД. Работы на стороне СУБД ведёт администратор сервера.

Microsoft SQL Server

Проверка базы без изменений:

DBCC CHECKDB ('Base1C') WITH NO_INFOMSGS, ALL_ERRORMSGS;

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

Если копии нет, исправление выполняют в однопользовательском режиме:

ALTER DATABASE Base1C SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DBCC CHECKDB ('Base1C', REPAIR_REBUILD);
ALTER DATABASE Base1C SET MULTI_USER;

SET SINGLE_USER WITH ROLLBACK IMMEDIATE сразу обрывает все подключения к базе, включая сеансы 1С. Делайте это вне рабочего времени и предупредите пользователей.

Режим REPAIR_ALLOW_DATA_LOSS — крайняя мера: он может удалить целые страницы данных. После него база 1С почти всегда требует тестирования и исправления, а часть документов может пропасть.

PostgreSQL

Встроенного аналога DBCC CHECKDB нет. Начиная с PostgreSQL 14 есть утилита pg_amcheck, она проверяет индексы и таблицы. Повреждённые индексы перестраивают командой REINDEX. Если повреждены сами данные, надёжный выход — восстановление из дампа или из копии кластера.

После проверки СУБД

Когда СУБД сообщает, что база целая, запустите тестирование и исправление в конфигураторе. Оно проверяет уже логику 1С: ссылки, итоги регистров, структуру таблиц.

Тестирование и исправление информационной базы в конфигураторе

Этот режим проверяет базу на уровне 1С и работает и для файловых, и для клиент-серверных баз. Нужен монопольный доступ, поэтому все пользователи должны выйти.

Путь: Конфигуратор → Администрирование → Тестирование и исправление.

Какие проверки включить

ПроверкаЧто делаетКогда включать
Реиндексация таблицперестраивает индексыпочти всегда
Проверка логической целостностиищет нарушения внутренней структуры данныхвсегда после сбоя
Проверка ссылочной целостностиищет ссылки на несуществующие объектывсегда после сбоя
Пересчёт итоговпересчитывает итоги регистровесли отчёты показывают не те остатки
Сжатие таблицубирает пустое местопо желанию, увеличивает время
Реструктуризация таблицпересоздаёт таблицы базыесли остальное не помогло; самая долгая

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

Что делать со «битыми» ссылками

В окне есть два блока настроек:

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

Для бухгалтерской базы безопаснее вариант «Создавать объекты». Программа создаст пустые элементы-заглушки, которые потом видно в справочниках и можно восполнить вручную. Очистка ссылок «тихо» обнуляет реквизиты в документах, и найти, что именно пропало, гораздо сложнее.

Порядок

  1. Сначала выберите режим «Тестирование» без исправления. Посмотрите отчёт в окне сообщений.
  2. Затем режим «Тестирование и исправление» с теми же галочками.
  3. Откройте базу в режиме 1С:Предприятие. Проверьте оборотно-сальдовую ведомость, остатки по складам и последние документы.

То же самое из командной строки

Для больших баз удобно запускать проверку ночью из пакетного файла:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -BadRefCreate -BadDataCreate /Out"D:\Logs\check.log"

Чтобы только проверить, без изменений, добавьте ключ -TestOnly. Результат проверки окажется в файле, указанном в /Out.

Как не допустить повторного повреждения

Повреждение файла почти всегда имеет внешнюю причину. Если её не убрать, через месяц всё повторится.

Железо и питание

  • 🔌 Источник бесперебойного питания для компьютера или сервера, где лежит файловая база, с корректным выключением при пропадании сети.
  • 💽 Регулярная проверка состояния дисков. Диск с растущими ошибками чтения — первый кандидат на повреждение базы.

Сеть и общие папки

  • 🌐 Файловая база в общей папке по Wi-Fi или через нестабильный VPN — частая причина повреждений. Обрыв связи посреди записи оставляет файл в неполном состоянии.
  • 👥 Если в базе одновременно работают больше 5–10 человек или есть удалённые пользователи, разумно перейти на клиент-серверный вариант или веб-доступ через публикацию на веб-сервере.

Антивирус и программы синхронизации

  • 🛡 Добавьте папку базы в исключения антивируса. Проверка 1Cv8.1CD во время записи блокирует файл и может привести к сбою.
  • ☁️ Не держите рабочую базу в папке, которую синхронизируют облачные сервисы. Они копируют файл в момент записи и иногда «возвращают» старую версию.

Резервные копии по расписанию

  • Ежедневная копия файла или выгрузка .dt вне рабочего времени.
  • Хранение минимум 7–14 последних копий, а не одной перезаписываемой: повреждение замечают не всегда в тот же день.
  • Одна копия — на другом физическом носителе.
  • Раз в месяц пробное восстановление копии в отдельную базу. Копия, которую никто не проверял, может оказаться пустой.
Защита файловой базы от повторного сбоя
Выполнено: 0 / 6

Когда без специалиста не обойтись

Своими силами база восстанавливается в большинстве бытовых случаев: свежая копия, один проход chdbfl, тестирование. Специалист нужен, если:

  • 1Cv8.1CD весит 0 байт или открывается с ошибкой уже на уровне файловой системы;
  • диск физически сбоит — щелкает, не определяется, система не видит раздел;
  • chdbfl и тестирование не убирают ошибку, а копии нет совсем;
  • на SQL-сервере DBCC CHECKDB сообщает о повреждениях системных страниц, и REPAIR_REBUILD не помогает;
  • после исправления пропали документы, и их нужно вытащить из повреждённого файла по частям.

Кого искать:

СитуацияК кому обращатьсяОриентир по цене (примерно)
Файл открывается, но не лечится стандартными средствамиспециалист по 1С или партнёр 1Сот 3 до 15 тыс. руб. за случай
Повреждения на SQL-сервереадминистратор баз данныхот 5 тыс. руб., зависит от размера базы
Физически сбойный дисклаборатория восстановления данныхот 5–10 тыс. руб., сложные случаи — дороже

При поломке диска ничего не запускайте с него повторно и не устанавливайте программы восстановления на тот же диск. Каждая попытка записи уменьшает шанс вернуть файл.

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

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

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