Что делать, если 1С пишет «Файл базы данных поврежден»
Содержание
Если 1С при запуске или в середине работы выдаёт Файл базы данных поврежден, сначала скопируйте папку базы целиком, затем проверьте файл 1Cv8.1CD утилитой chdbfl.exe из каталога bin платформы. Если она не справится, запустите в конфигураторе Администрирование → Тестирование и исправление. Обычно этих двух шагов хватает, чтобы база снова открылась.
Типичная ситуация: вечером отключили свет, пока бухгалтер проводил документы за месяц. Утром база не запускается или падает при открытии журнала. Данные почти всегда можно спасти, если не начинать «чинить» оригинал без копии и не удалять файлы наугад.
Всё ниже касается файлового варианта 1С:Предприятия 8.3, общее для любой конфигурации: Бухгалтерии, ЗУП, УТ и других.
Почему повреждается файл данных 1С
В файловом варианте вся база хранится в одном файле 1Cv8.1CD. Платформа пишет в него напрямую, без отдельного сервера СУБД, который мог бы откатить незавершённую операцию. Поэтому любой обрыв записи оставляет файл в несогласованном состоянии.
Основные причины:
- ⚡ Отключение питания или «жёсткая» перезагрузка компьютера, на котором лежит база, во время записи.
- 🌐 Работа по сети через общую папку. Обрыв Wi-Fi или VPN, засыпание ноутбука пользователя посреди проведения документа.
- 🛑 Снятие процесса
1cv8.exeчерез диспетчер задач, особенно во время обновления конфигурации или реструктуризации. - 🛡️ Антивирус, который проверяет
1Cv8.1CDв момент записи и блокирует файл. - 💽 Сбойный диск: битые сектора, переполненный раздел, отказ RAID-массива на NAS.
- ☁️ Синхронизация облачным клиентом (Яндекс Диск, OneDrive и подобные) прямо в рабочей папке базы. Клиент может подменить файл версией с другого компьютера.
Если повреждения повторяются раз в несколько недель, дело не в 1С, а в среде: сеть, диск или антивирус. Восстановление снимет симптом, но не причину.
Что сделать до восстановления: копия и первичная диагностика
Первым делом сделайте копию всей папки базы, пока ничего не исправляли. Обе утилиты, о которых пойдёт речь, меняют файл. Если исправление пойдёт не так, без копии вернуться будет не к чему.
Как скопировать правильно
- Попросите всех пользователей выйти из базы. Проверьте, что на компьютере с базой не остался висеть процесс
1cv8.exeили1cv8c.exe. - Посмотрите путь к базе: в окне запуска 1С выделите базу, путь показан внизу окна (строка вида
File="D:\Bases\Buh"). - Скопируйте всю папку, а не только
1Cv8.1CD, на другой физический диск или флешку. - Сравните размер копии и оригинала.
Что проверить сразу
- Свободное место на диске. Для восстановления и последующей выгрузки нужно не меньше двух-трёх размеров файла
1Cv8.1CD. - Состояние диска: в Windows выполните
chkdsk D:в режиме проверки, без ключа/f. Если диск сыплется, переносите копию на исправный носитель и работайте уже с ней. - Текст ошибки целиком. Запишите его и момент, когда он появляется: при входе, при открытии конкретного документа, при закрытии месяца.
Как понять, что сломано
Не каждая похожая ошибка означает повреждённый файл данных. Ориентиры:
Восстановление базы 1С утилитой chdbfl
chdbfl.exe — штатная утилита платформы для проверки физической целостности файла 1Cv8.1CD. Она не требует запуска конфигуратора, поэтому работает и тогда, когда база не открывается вовсе.
Где она лежит: в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.25.1445\bin\chdbfl.exe. Номер в пути — ваша версия платформы. Берите утилиту той версии, которой открывается база.
Порядок работы
- Убедитесь, что с базой никто не работает . Утилите нужен монопольный доступ к файлу.
- Запустите
chdbfl.exeот имени администратора. - В поле «Имя файла БД» укажите путь к
1Cv8.1CD. Если на файл поставлен пароль, заполните его. - Сначала оставьте флажок «Исправлять обнаруженные ошибки» снятым и нажмите «Выполнить». Так вы увидите масштаб проблемы, ничего не меняя.
- Если ошибки найдены, установите флажок и запустите проверку ещё раз.
- Дождитесь окончания. На базе в 5–10 ГБ проверка может идти десятки минут, окно в это время выглядит зависшим. Не закрывайте его.
- Запустите проверку повторно без исправления. Ошибок быть не должно.
После успешного прохода откройте базу в режиме «1С:Предприятие» и пролистайте журналы за последние дни. Если отдельные документы не открываются, переходите к следующему разделу.
При исправлении chdbfl может удалить страницы, которые не удалось прочитать. Обычно это несколько записей последних операций. Их придётся ввести заново, поэтому сверьте остатки и обороты за период сбоя.
Тестирование и исправление информационной базы в конфигураторе
Этот режим проверяет уже не файл, а логику данных: индексы, ссылки, итоги регистров. Он нужен, когда chdbfl прошла без ошибок или исправила их, но в 1С остались «битые» документы и пустые ссылки.
Запуск: откройте базу в режиме «Конфигуратор» и выберите Администрирование → Тестирование и исправление. Конфигуратору при этом нужен монопольный доступ: все пользователи должны выйти.
Какие флажки ставить
| Проверка | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц | Пересоздаёт индексы | Всегда при повреждении |
| Проверка логической целостности | Ищет несогласованные записи | Всегда |
| Проверка ссылочной целостности | Ищет ссылки на несуществующие объекты | При «битых» ссылках в документах |
| Пересчёт итогов | Пересчитывает итоги регистров | Если не сходятся остатки и обороты |
| Сжатие таблиц | Убирает пустое место из файла | После исправления, если файл сильно разросся |
| Реструктуризация таблиц | Перестраивает таблицы базы | Только если другие проверки не помогли: самая долгая операция |
Внизу формы выберите режим «Тестирование и исправление». Для начала разумно один раз пройти в режиме «Только тестирование» и посмотреть отчёт.
Ссылки на несуществующие объекты
Самый важный выбор в форме — что делать с ссылками на удалённые объекты:
- Создавать объекты — программа создаст пустые элементы-заглушки вместо потерянных. Их видно, их можно найти и заполнить. Это самый безопасный вариант.
- Очищать ссылки — поле в документе станет пустым. Потом трудно понять, какой контрагент там был.
- Не изменять — ошибки только попадут в отчёт.
При частичной потере данных объектов похожий выбор: создавать, удалять или не изменять. Удаление — крайний вариант: вместе с повреждённым объектом уйдут его движения.
Запуск из командной строки
На сервере удобно запускать проверку по расписанию или без интерфейса. Пример для файловой базы:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals -BadRefCreate /Out"D:\Logs\check.log"
Ключ -TestOnly включает режим «Только тестирование». Ход проверки и найденные ошибки окажутся в файле, указанном в /Out.
Файлы блокировок и кэш: что можно удалять
Рядом с 1Cv8.1CD в папке базы лежат служебные файлы и каталоги:
| Объект | Назначение | Можно ли удалять |
|---|---|---|
1Cv8.1CD | Сами данные и конфигурация | Никогда |
1Cv8.1CL | Файл блокировок | Только когда все вышли из базы |
1Cv8tmp.1CD | Временный файл реструктуризации | Только при закрытой базе, после копии |
1Cv8Log | Журнал регистрации | Не нужно: на восстановление не влияет |
1Cv8FTxt | Индекс полнотекстового поиска | Можно, индекс построится заново |
Файл блокировок иногда «залипает» после аварийного завершения: база не открывается с сообщением о блокировке, хотя внутри никого нет.
Что делать:
- Убедитесь, что пользователи вышли. Удаление файла блокировки при работающих сеансах оборвёт их работу и может повредить данные. Делайте это вне рабочего времени или после личного подтверждения от каждого.
- На компьютере с базой проверьте диспетчер задач и завершите оставшиеся процессы
1cv8. - Если база лежит на общей папке, на сервере откройте «Управление компьютером → Общие папки → Открытые файлы» и закройте открытые сеансы к файлам базы.
- Переместите
1Cv8.1CLв отдельную папку (не удаляйте сразу) и попробуйте открыть базу . Платформа создаст файл заново.
Пользовательский кэш хранится не в папке базы, а в профиле Windows: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. При ошибке у одного пользователя достаточно запустить 1С с параметром /ClearCache: в окне запуска нажмите «Изменить», на последнем шаге впишите параметр в поле «Дополнительные параметры запуска».
Удаление кэша и файла блокировок не лечит повреждённый 1Cv8.1CD. Если ошибка Файл базы данных поврежден осталась, вернитесь к chdbfl.
Если файл базы повреждается снова: перевод на клиент-серверный вариант
Файловый вариант хорош для 1–5 пользователей в одной локальной сети. Когда в базе работают 10 человек, часть из них по VPN, а файл лежит на NAS, повреждения становятся вопросом времени. В клиент-серверном варианте данные хранит СУБД (PostgreSQL или MS SQL Server) с журналом транзакций: обрыв связи у клиента не ломает базу.
Как перенести базу
- Восстановите файловую базу до рабочего состояния. Сломанную базу перенести нельзя: выгрузка упадёт на повреждённых данных.
- В конфигураторе выполните
Администрирование → Выгрузить информационную базуи сохраните файл.dt. - На сервере 1С с установленной СУБД создайте новую информационную базу в консоли администрирования кластера или через окно запуска («Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации» с размещением на сервере).
- Откройте новую базу в конфигураторе и загрузите файл:
Администрирование → Загрузить информационную базу. - Проверьте вход пользователей, остатки по основным счетам и обмены.
Что учесть
- Нужна лицензия на сервер 1С:Предприятия: клиентские лицензии её не заменяют.
- Требуется отдельная машина или виртуальный сервер с ресурсами под СУБД.
- Обслуживание СУБД (бэкапы, обслуживание индексов) ложится на администратора.
Если переход на сервер пока не по бюджету, уберите главные причины сбоев: подключите ИБП, исключите папку базы из проверки антивирусом и облачной синхронизации, не держите базу на NAS без ИБП. Удалённых пользователей переведите на работу через терминальный сервер или веб-клиент вместо доступа к общей папке по VPN.
Резервное копирование базы, чтобы не восстанавливать вслепую
Восстановление chdbfl — это лотерея: иногда теряются несколько документов, иногда больше. Свежая резервная копия превращает аварию в получасовую задачу.
Способы копирования файловой базы
| Способ | Плюсы | Минусы |
|---|---|---|
Копия папки с 1Cv8.1CD | Быстро, просто | Только когда в базе никого нет |
Выгрузка .dt из конфигуратора | Заодно проверяет читаемость данных | Нужен монопольный режим |
Встроенное копирование в типовой конфигурации (Администрирование → Обслуживание) | Настраивается без администратора | Работает на компьютере пользователя, не на сервере |
| Скрипт по расписанию Windows | Ночью, без участия людей | Нужно проверять, что задание отработало |
Простой ночной скрипт
Пример bat-файла, который копирует папку базы с датой в имени. Запускайте его планировщиком заданий Windows ночью, когда в базе никого нет:
@echo off
set SRC=D:\Bases\Buh
set DST=E:\Backup\Buh_%date:~6,4%-%date:~3,2%-%date:~0,2%
robocopy "%SRC%" "%DST%" /E /R:2 /W:5 /LOG:E:\Backup\last.log
Формат %date% зависит от региональных настроек Windows. Для русской локали строка даёт папку вида Buh_2026-10-07. Проверьте имя после первого запуска.
Правила, которые реально спасают
- 🗂️ Храните копии не на том же диске, что и база. Лучше — ещё одну раз в неделю вне офиса.
- 🔁 Держите несколько поколений: 7 ежедневных и 4 еженедельных. Повреждение могут заметить не сразу.
- 🧪 Раз в месяц разворачивайте копию в тестовую базу и открывайте её. Копия, которую ни разу не открывали, не считается копией.
- 📋 Перед обновлением конфигурации и закрытием года делайте внеочередную копию.
Частые вопросы
Можно ли восстановить данные, если chdbfl не помогла?
Пропадут ли документы после исправления?
Нужно ли обновлять платформу перед восстановлением?
chdbfl той же версии платформы, которой обычно открывается база. Обновление платформы на сломанной базе только добавит неизвестных.Сколько идёт проверка большой базы?
Почему база ломается только у одного пользователя?
/ClearCache и проверки сетевого подключения.