Администрирование · 13 мин
Слетела база 1С: как восстановить данные и не потерять информацию
Слетела база 1С — что делать в первую очередь. Восстановление из резервной копии, тестирование и исправление, chdbfl, работа с SQL-базой.
Ошибка «Файл базы данных повреждён», зависание 1С при запуске или пустой список документов — типичные признаки того, что база слетела. Чаще всего это происходит из-за внезапного отключения электричества, сбоя жёсткого диска, обрыва сети при файловом режиме работы, некорректного завершения процесса или переполнения диска. Паниковать не стоит: в большинстве случаев данные удаётся вернуть — либо из резервной копии, либо с помощью штатных инструментов платформы 1С.
Главное правило первых минут — не паниковать и не предпринимать резких действий. Повторные попытки запуска повреждённой базы, копирование файлов «на всякий случай» поверх рабочего каталога или запуск сторонних утилит без понимания их работы способны усугубить повреждение. Ниже — практический порядок действий: от диагностики до проверки восстановленной базы.
Материал охватывает оба режима работы 1С: файловый (один файл 1Cv8.1CD на диске или в сетевой папке) и клиент-серверный (база на MS SQL Server, PostgreSQL или другой СУБД). Подходы к восстановлению в них принципиально различаются, и важно сразу определить, с каким вариантом вы имеете дело.
Шаг 1. Оцените ситуацию и зафиксируйте исходное состояние
Прежде чем что-либо восстанавливать, ответьте на три вопроса: в каком режиме работает база (файловый или клиент-серверный), есть ли резервные копии и где они лежат, что именно произошло перед сбоем. Ответы определяют весь дальнейший маршрут. Если база файловая, найдите каталог с файлом 1Cv8.1CD — путь можно посмотреть в списке баз при запуске 1С, выделив базу и посмотрев строку подключения внизу окна.
Сразу сделайте побитовую копию повреждённой базы: скопируйте весь каталог с файлом 1Cv8.1CD на другой диск или носитель. Все дальнейшие эксперименты проводите с копией, а оригинал оставьте нетронутым — это ваша страховка на случай, если один из методов ухудшит состояние данных. Для серверной базы зафиксируйте текущее состояние средствами СУБД (например, снимите бэкап через SQL Server Management Studio), даже если база повреждена.
Проверить наличие копий, применить chdbfl или тестирование и исправление
Проверить путь к базе в списке информационных баз
Проверить службы сервера 1С и СУБД, сетевую доступность
Найти каталог базы на диске и добавить её в список заново
Шаг 2. Проверьте, действительно ли база повреждена
Значительная часть обращений «слетела база» на деле оказывается более простыми проблемами. Если база не запускается с рабочего места, но открывается у коллеги — дело в локальном кэше на компьютере, а не в данных. Если пропала строка в списке баз — возможно, просто удалена запись, а сам каталог с данными цел. Если серверная база недоступна — часто причина в остановленной службе агента сервера 1С или СУБД, а не в порче данных.
Для файловой базы попробуйте следующее: очистите кэш (удалите содержимое папок с длинными буквенно-цифровыми именами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 при закрытой 1С) и запустите базу снова. Проверьте, достаточно ли свободного места на диске — при переполнении диска 1С может вести себя непредсказуемо. Убедитесь, что никто из пользователей не держит базу открытой и не блокирует файл по сети.
Как выбрать действие
Шаг 3. Восстановление из резервной копии — самый надёжный путь
Если у вас настроено резервное копирование, восстановление из копии — приоритетный вариант. Он даёт гарантированно целостную базу, тогда как ремонт повреждённого файла всегда несёт риск потери части данных. Оцените «цену» копии: сколько часов или дней работы будет потеряно. Иногда выгоднее восстановить вчерашнюю копию и повторно ввести документы за день, чем чинить файл с непредсказуемым результатом.
Для файловой базы восстановление из выгрузки (файл с расширением .dt) делается через конфигуратор: откройте пустую или новую базу в режиме «Конфигуратор», меню «Администрирование» → «Загрузить информационную базу», укажите файл .dt. Если копия хранится как просто копия каталога с 1Cv8.1CD — скопируйте каталог в новое место и добавьте базу в список через кнопку «Добавить» в окне запуска.
Для серверной базы восстановление выполняется средствами СУБД: в MS SQL Server — через Restore Database в Management Studio, выбрав нужный файл бэкапа и указав новое имя базы, чтобы не затереть текущую. После восстановления проверьте сопоставление базы в консоли кластера 1С. Важно: восстановленную базу сначала откройте в тестовом режиме, убедитесь в целостности, и только потом переводите на неё пользователей.
- 1Создайте новую пустую базу: в окне запуска 1С нажмите «Добавить» → «Создание новой информационной базы» → без конфигурации
- 2Откройте новую базу в режиме «Конфигуратор»
- 3Меню «Администрирование» → «Загрузить информационную базу», укажите файл .dt
- 4Дождитесь окончания загрузки и выполните «Конфигурация» → «Обновить конфигурацию базы данных», если потребуется
- 5Откройте базу в режиме «Предприятие» и проверьте ключевые данные: остатки, документы за последний период, справочники
Шаг 4. Ремонт файловой базы, если резервной копии нет
Когда копии нет или она слишком старая, приходится ремонтировать повреждённый файл. Платформа 1С предлагает два штатных инструмента: утилиту chdbfl.exe и процедуру «Тестирование и исправление» в конфигураторе. Оба работают только с файловыми базами и только при монопольном доступе — убедитесь, что все пользователи вышли, а база не открыта ни в одном сеансе.
Утилита chdbfl.exe
Утилита находится в каталоге установки платформы, обычно по пути вида C:\Program Files\1cv8\<версия>\bin\chdbfl.exe. Запустите её, укажите путь к файлу 1Cv8.1CD (работайте с копией!), установите флажок «Исправлять обнаруженные ошибки» и нажмите «Исполнить». Утилита проверяет физическую целостность файла: структуру таблиц, индексов, служебных страниц. По завершении она выдаёт отчёт — какие ошибки найдены и исправлены.
Важно понимать ограничение: chdbfl исправляет физическую структуру, но повреждённые записи может просто удалить. Если в отчёте много удалённых объектов, часть данных будет потеряна — сравните результат с ожиданиями, прежде чем принимать базу в работу.
Тестирование и исправление в конфигураторе
Если после chdbfl база открывается, запустите конфигуратор и выполните «Администрирование» → «Тестирование и исправление». Отметьте проверки: «Реиндексация таблиц», «Проверка логической целостности», «Проверка ссылочной целостности». Режим выберите «Тестирование и исправление». Процедура для больших баз может занять часы — запаситесь временем и не прерывайте процесс.
На этапе ссылочной целостности при обнаружении битых ссылок выбирайте вариант «Создавать объекты» или «Очищать ссылки» в зависимости от ситуации: создание объектов-заглушек сохраняет связность данных, очистка удаляет ссылки на несуществующие записи. После завершения обязательно проверьте базу в режиме «Предприятие»: сформируйте оборотно-сальдовую ведомость, откройте журналы документов, проверьте остатки по складу и кассе.
Шаг 5. Восстановление клиент-серверной базы
Для баз на MS SQL Server, PostgreSQL или другой СУБД инструменты chdbfl и «Тестирование и исправление» не применяются к файлам напрямую — данными управляет СУБД. Первичная диагностика выполняется средствами самой СУБД. Для MS SQL Server это команда DBCC CHECKDB, которая проверяет физическую и логическую целостность базы и показывает объём повреждений.
DBCC CHECKDB (N'ИмяБазы') WITH NO_INFOMSGS, ALL_ERRORMSGS;Если DBCC CHECKDB сообщает об ошибках, безопасный путь — восстановление из бэкапа СУБД. Режимы ремонта вроде REPAIR_ALLOW_DATA_LOSS существуют, но, как следует из названия, допускают потерю данных и должны применяться только администратором, понимающим последствия, и только на копии базы. Для PostgreSQL аналогичная логика: проверка логов, при серьёзных повреждениях — восстановление из pg_basebackup или файлового снапшота.
После восстановления базы на уровне СУБД дополнительно выполните «Тестирование и исправление» уже из конфигуратора 1С — оно проверит логическую и ссылочную целостность на уровне прикладных данных. Эти два уровня дополняют друг друга: СУБД отвечает за физическую целостность страниц, конфигуратор — за корректность бизнес-данных.
Шаг 6. Проверка результата и частые ошибки
Восстановленная база не равна рабочей базе — результат нужно проверить. Откройте базу в режиме «Предприятие» и пройдите по контрольным точкам: остатки на счетах, складские остатки, взаиморасчёты с контрагентами, наличие документов за последние периоды, корректность справочников. Сравните ключевые цифры с последними распечатками, отчётами для налоговой или любыми внешними источниками, которые остались.
Если база восстановлена из копии, составьте список документов, введённых после даты копии, и повторите их ввод. Если база отремонтирована — особое внимание уделите объектам, которые утилита могла удалить: проверьте журналы документов на пропуски номеров и незаполненные ссылки.
Как проверить результат восстановления
Открывается без ошибок, все пользователи могут войти
Ошибки при запуске, зависания, сообщения о повреждении
Остатки соответствуют последним известным данным
Нулевые или явно искажённые остатки
Документы за все периоды на месте, нумерация без аномальных пропусков
Массовые пропуски, документы не открываются
Нет объектов вида «<Объект не найден>»
Битые ссылки в документах и справочниках
Шаг 7. Как не допустить повторения
После восстановления займитесь профилактикой, иначе сбой повторится. Настройте регулярное резервное копирование: для файловой базы — ежедневная выгрузка в .dt штатными средствами или скриптом, для серверной — регламентные бэкапы СУБД с хранением копий на отдельном носителе. Периодически проверяйте, что копии реально восстанавливаются — нетестированный бэкап равен его отсутствию.
Устраните первопричину сбоя: установите источник бесперебойного питания для сервера и компьютеров с файловыми базами, проверьте состояние дисков (SMART-диагностика), стабильность локальной сети, если база лежит в сетевой папке. Файловые базы размером более нескольких гигабайт с несколькими одновременными пользователями — кандидат на переход в клиент-серверный режим, который значительно устойчивее к сбоям.
Что важно запомнить
Порядок действий при слетевшей базе 1С: остановить работу, сделать копию повреждённых файлов, проверить, что проблема именно в данных, а не в кэше или службах. Затем по приоритету: восстановление из резервной копии, ремонт chdbfl и тестированием-исправлением для файловой базы, средства СУБД для серверной. После — обязательная проверка данных и настройка регулярного бэкапа.
Частые вопросы
База пропала из списка при запуске 1С — данные потеряны?
Скорее всего, нет. Список баз — это просто ярлыки, хранящиеся в файле ibases.v8i. Найдите каталог с файлом 1Cv8.1CD на диске (поищите по имени файла), затем в окне запуска нажмите «Добавить» → «Добавление существующей информационной базы» и укажите этот каталог. База появится в списке со всеми данными.
Сколько времени занимает тестирование и исправление?
Зависит от размера базы и степени повреждения: небольшая база может пройти за 15–30 минут, большая файловая база в десятки гигабайт — за несколько часов. Процесс нельзя прерывать, поэтому планируйте его на нерабочее время и обеспечьте стабильное питание компьютера.
Можно ли восстановить базу, если резервных копий никогда не делалось?
Часто да. Для файловой базы попробуйте chdbfl и «Тестирование и исправление» — они восстанавливают структуру, хотя часть записей может быть потеряна. Если диск физически неисправен, сначала снимите образ диска средствами восстановления данных и работайте уже с образом. При критичной ценности данных разумно обратиться к специалистам по восстановлению.
После восстановления в документах появились записи «<Объект не найден>» — что делать?
Это битые ссылки — документы ссылаются на удалённые при повреждении объекты. Запустите «Тестирование и исправление» с проверкой ссылочной целостности и выберите режим «Создавать объекты» — платформа создаст объекты-заглушки, которые затем можно заполнить вручную. Альтернатива — «Очищать ссылки», но тогда связи будут удалены насовсем.
Файловая база ломается уже второй раз — в чём причина?
Повторяющиеся сбои почти всегда указывают на системную проблему: нестабильная сеть при работе с сетевой папкой, умирающий диск, отключения электричества, антивирус, сканирующий файл базы в реальном времени. Проверьте SMART диска, добавьте каталог базы в исключения антивируса, поставьте ИБП. Если пользователей больше 3–5 и база растёт — рассмотрите переход на клиент-серверный режим.
Чем выгрузка .dt отличается от копии файла 1Cv8.1CD?
Выгрузка .dt — логическая копия, созданная штатными средствами конфигуратора; она надёжнее переносится между версиями платформы и занимает меньше места. Копия файла 1Cv8.1CD — физическая копия, делается быстрее, но требует той же или совместимой версии платформы и копируется только при закрытой базе. Для регулярного бэкапа предпочтительнее выгрузка .dt, для экстренной фиксации состояния — копия файла.