Восстановление базы 1С: от резервной копии до ремонта вручную

· 10 мин

Содержание

Если база 1С не открывается после аварийного завершения, отключения света или ошибки диска — начните с резервной копии: это самый быстрый и безопасный способ вернуть работу. Для файловой базы восстановить — значит подставить вместо битого файла 1Cv8.1CD его последнюю исправную копию либо загрузить выгрузку .dt. Для клиент-серверной — развернуть бэкап средствами СУБД.

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

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

С чего начать: определите свой случай

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

Что именно произошло с базой?

Дальше — по шагам для каждого случая.

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

Резервная копия перекрывает почти все аварии. Способ развёртывания зависит от того, как копия была сделана.

Копия в виде файла .dt (выгрузка информационной базы). Откройте базу в конфигураторе, меню Администрирование → Загрузить информационную базу, укажите файл выгрузки. Загрузка полностью заменяет текущие данные содержимым .dt, поэтому выполняется монопольно — все пользователи должны выйти.

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

Копия в виде файлов базы (файловый вариант). Закройте 1С на всех рабочих местах, замените файл 1Cv8.1CD в рабочей папке копией из бэкапа. Это самый быстрый путь: подмена занимает секунды.

Копия средствами СУБД (клиент-сервер). Разворачивайте бэкап инструментами вашей СУБД (для MS SQL Server — restore через SQL Server Management Studio). Файловые утилиты 1С здесь не работают: данные лежат в базе SQL, а не в .1CD.

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

Если автоматического копирования ещё нет, настройте его сразу после аварии: в режиме 1С:Предприятие в разделе Администрирование → Обслуживание есть настройки резервного копирования по расписанию. Для серверных баз копии удобнее делать средствами СУБД.

Лечение повреждённой базы в конфигураторе

Когда копии нет, а база файловая и всё-таки открывается в конфигураторе, запускают встроенную проверку: Администрирование → Тестирование и исправление информационной базы.

В окне доступны проверки:

  • 🔎 логическая целостность — ищет внутренние противоречия структуры;
  • 🔗 ссылочная целостность — находит «битые» ссылки на удалённые объекты;
  • 🧮 пересчёт итогов — чинит расхождения в регистрах;
  • 🗂 реструктуризация таблиц — перестраивает таблицы базы;
  • 🧷 реиндексация таблиц — пересоздаёт индексы;
  • 📦 сжатие таблиц — убирает «дыры» после удалений.

Для каждой проверки задают режим: только проверять или проверять и исправлять. Для ссылочной целостности выбирают, что делать с битыми ссылками — создавать объекты, очищать ссылки или не изменять.

«Тестирование и исправление» выполняется в монопольном режиме: пока оно идёт, работать в базе нельзя. На большой базе процесс занимает от минут до нескольких часов, поэтому запускают его в нерабочее время.

Начните с режима «только проверка» без исправления. Так вы увидите список проблем и оцените масштаб, не меняя данные. Исправление включайте вторым проходом.

Для клиент-серверной базы «Тестирование и исправление» тоже доступно, но физическую целостность файла оно не чинит — этим занимается СУБД.

Частый симптом повреждения — ошибка формата потока при открытии базы или документа. Она говорит, что платформа не смогла корректно прочитать участок данных. Для файловой базы такую ошибку сначала атакуют chdbfl.exe, затем реиндексацией и реструктуризацией в «Тестировании и исправлении». Если ошибка всплывает на конкретном документе, а не на всей базе, нередко помогает пометка этого документа на удаление с последующим перепроведением аналога из копии.

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

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

Утилита лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe. Точный путь зависит от того, куда установлена платформа.

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

  1. Закройте 1С на всех рабочих местах — база должна быть никем не занята.
  2. Снимите копию файла 1Cv8.1CD в отдельную папку.
  3. Запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD.
  4. Первый прогон сделайте без галочки «Исправлять обнаруженные ошибки» — только проверка.
  5. Если ошибки найдены, поставьте галочку и запустите повторно.

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

Если после исправления база открылась — сразу выгрузите её в .dt и дополнительно прогоните «Тестирование и исправление» в конфигураторе: физическая целостность восстановлена, но логические противоречия могли остаться.

Внешние инструменты и ручной ремонт

chdbfl.exe справляется не всегда. Для тяжёлых случаев есть внешние инструменты, но подходить к ним надо осторожно.

Контейнерные файлы конфигурации (.cf, .cfe, .epf, .erf) при необходимости распаковывают сторонними утилитами вроде v8unpack — это инструмент разработчика для разбора контейнеров, а не ремонта базы данных. Для восстановления учётных данных из .1CD он не предназначен, не путайте эти задачи.

Когда штатные средства бессильны, остаются специализированные программы восстановления структуры .1CD от сторонних разработчиков. Они платные и не дают гарантии — применяйте их только к копии файла и только если других вариантов нет.

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

Если база исчезла из списка или удалена

«Пропала база» — частый повод для паники, хотя причины обычно безобидные.

База исчезла из списка при запуске 1С. Чаще всего удалён только пункт списка, а файлы на диске целы. В окне запуска нажмите Добавить, выберите «Добавление в список существующей информационной базы» и укажите путь к папке с файлом 1Cv8.1CD. База вернётся в список.

Файлы базы удалены с диска. Здесь всё серьёзнее. Проверьте по порядку:

  • 🗑 корзину Windows — файл мог попасть туда;
  • 💾 автоматические резервные копии и сетевые папки бэкапов;
  • 🕓 теневые копии тома (если включена защита системы) — свойства папки, вкладка «Предыдущие версии».

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

База была на сервере 1С и пропала из консоли. Проверьте, запущена ли служба агента сервера и доступна ли СУБД. Если база существует в SQL, но отсутствует в кластере, её регистрируют в базе заново через консоль администрирования, указав ту же базу данных СУБД.

Восстановление после неудачного обновления конфигурации

Обновление, которое прервалось на полпути или привело к ошибкам, — отдельный класс аварий.

Если изменения ещё не приняты в базу данных. В конфигураторе откройте Конфигурация → Вернуться к конфигурации базы данных. Это откатит правки основной конфигурации к тому, что реально работает в базе. Приём спасает, когда загрузили не то обновление, но ещё не нажали «Обновить конфигурацию базы данных».

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

Если копии перед обновлением нет. Остаётся пробовать «Тестирование и исправление» и анализ ошибок обновления. Но шансы вернуть корректную структуру без бэкапа невысоки — это ещё один аргумент за дисциплину резервного копирования.

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

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

Перенос данных через выгрузку (DT и XML)

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

Полная выгрузка в .dt. В конфигураторе Администрирование → Выгрузить информационную базу создаёт файл .dt со всей базой — данными и конфигурацией. Обратная операция — Администрирование → Загрузить информационную базу. Оба действия монопольные. Это самый универсальный способ перенести базу целиком: формат .dt не зависит от того, файловая база или серверная.

Выгрузка в XML (обмен данными). Когда нужно перенести не всю базу, а часть данных, применяют выгрузку в XML — через типовые механизмы обмена или универсальную обработку выгрузки и загрузки данных. XML удобен при переносе между разными конфигурациями или версиями, но требует совпадения структуры метаданных приёмника. Для полного восстановления базы после сбоя .dt надёжнее.

Сравнение двух форматов:

ПараметрВыгрузка .dtВыгрузка в XML
Что переноситвсю базу целикомвыбранные данные
Нужна ли та же конфигурацияда, та жевозможен перенос между конфигурациями
Режим работымонопольныйзависит от механизма обмена
Когда применятьбэкап, переезд, восстановлениечастичный перенос, интеграция

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

Когда звать поддержку, а не чинить самому

Часть ситуаций не стоит разбирать в одиночку — так проще доломать базу, чем починить.

Передавайте дело специалисту или в поддержку, если:

  • 🧩 chdbfl.exe и «Тестирование и исправление» завершаются с ошибками и база по-прежнему не открывается;
  • 🗄 авария в клиент-серверной базе связана с СУБД, а бэкапа SQL нет;
  • 💣 повреждение затронуло структуру метаданных, и предлагают «ручной ремонт .1CD»;
  • 🔑 потерян пароль администратора или сломаны права, а штатно сбросить их нельзя.

Обращаться можно к обслуживающему партнёру 1С по договору сопровождения либо на линию консультаций по вашей подписке ИТС. Перед обращением соберите: точный текст ошибки, номер версии платформы, вариант базы (файловая или серверная) и копию проблемного файла — это ускорит диагностику в разы.

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

Как защититься от следующего сбоя

Чтобы следующая авария решалась за минуты, а не за дни:

Минимум для спокойного восстановления
Выполнено: 0 / 5

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

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

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