К статье
Практический материал

Администрирование · 11 мин

Как восстановить базу 1С через конфигуратор

Как восстановить базу 1С через конфигуратор: загрузка из dt-выгрузки, восстановление из бэкапа SQL, тестирование и исправление, типичные ошибки и проверка результата.

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

Выбор способа зависит от того, что именно у вас есть: файл .dt, копия файловой базы, бэкап средствами СУБД или только повреждённая база без каких-либо копий. Каждый сценарий имеет свои ограничения, и попытка применить неподходящий метод может окончательно разрушить данные.

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

Определите, какой у вас сценарий восстановления

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

Есть файл .dtШтатная выгрузка

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

Есть копия 1Cv8.1CDКопия файловой базы

Скопировали ли файл при остановленной работе пользователей — иначе копия может быть несогласованной

База на SQL-сервереКлиент-серверный вариант

Наличие бэкапа средствами MS SQL или PostgreSQL — конфигуратор здесь не основной инструмент

Ничего нет, база не открываетсяПовреждение файла

Текст ошибки при запуске — «ошибка формата потока» и подобные указывают на повреждение структуры

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

Подготовка перед восстановлением

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

Убедитесь, что в базе никто не работает: все сеансы должны быть завершены. В файловом режиме проверьте, что в каталоге базы нет файла блокировок, а пользователи закрыли 1С. В клиент-серверном режиме завершите сеансы через консоль администрирования или дождитесь, пока все выйдут. Загрузка .dt при активных сеансах будет отклонена платформой.

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

Восстановление из файла выгрузки .dt через конфигуратор

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

Порядок загрузки .dt
  1. 1
    Запустите конфигуратор нужной базы в монопольном режиме — все пользователи должны выйти
  2. 2
    Откройте меню «Администрирование» и выберите пункт «Загрузить информационную базу»
  3. 3
    Укажите путь к файлу с расширением .dt и подтвердите операцию
  4. 4
    Дождитесь окончания загрузки — на больших базах это занимает от нескольких минут до часов
  5. 5
    При запросе реструктуризации подтвердите её и дождитесь завершения
  6. 6
    Проверьте, что база открывается в режиме предприятия и данные на месте

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

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

Восстановление файловой базы из копии каталога

Если выгрузки .dt нет, но есть копия каталога базы (или хотя бы файла 1Cv8.1CD), восстановление делается проще — без конфигуратора на этапе копирования. Файл 1Cv8.1CD и есть вся файловая база: конфигурация, данные и служебные таблицы.

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

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

Что делать, если база повреждена и не открывается

Ситуация «бэкапа нет, база не открывается» — самая тяжёлая, но и тут есть варианты. Для файловых баз первым инструментом служит утилита chdbfl.exe из каталога установки платформы: она проверяет физическую целостность файла 1Cv8.1CD и исправляет повреждения на уровне страниц файла.

text
C:\Program Files\1cv8\<версия платформы>\bin\chdbfl.exe

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

Второй уровень — встроенное тестирование и исправление в конфигураторе: меню «Администрирование → Тестирование и исправление». Отметьте проверку логической и ссылочной целостности, выберите режим «Тестирование и исправление» и запустите. Процедура может удалить объекты с битой ссылкой, поэтому перед запуском также сделайте копию.

Сравнение способов восстановления

Загрузка .dt

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

Подмена 1Cv8.1CD

Быстрый способ для файловых баз при наличии согласованной копии; не работает для клиент-серверных баз

Бэкап СУБД

Основной путь для серверных баз; восстанавливается средствами СУБД, конфигуратор не участвует

chdbfl + тестирование и исправление

Крайняя мера при отсутствии копий; возможна частичная потеря данных, результат не гарантирован

Проверка результата после восстановления

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

Контрольные точки

Как проверить результат

Запуск базы
Норма

Конфигуратор и режим предприятия открываются без ошибок

Тревожный признак

Ошибка формата потока, аварийное завершение при запуске

Актуальность данных
Норма

Последние документы соответствуют дате выгрузки или копии

Тревожный признак

Отсутствуют документы, которые точно должны быть

Отчёты
Норма

Оборотно-сальдовая ведомость и складские отчёты формируются без ошибок

Тревожный признак

Отчёт падает с ошибкой или показывает пустые данные

Ссылки
Норма

Документы открываются, ссылки на контрагентов и товары заполнены

Тревожный признак

В полях видны «<Объект не найден>» и битые ссылки

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

Типичные ошибки при восстановлении

Типичные ошибки
01
Загрузка старой выгрузки без копии текущей базы — данные за последние дни теряются безвозвратно
02
Запуск chdbfl на оригинальном файле без копии — при неудаче файл повреждается окончательно
03
Восстановление при работающих пользователях — платформа отклоняет операцию или база остаётся в несогласованном состоянии
04
Копирование 1Cv8.1CD во время работы пользователей — полученная копия логически противоречива
05
Игнорирование реструктуризации после загрузки — прерванный процесс оставляет базу в промежуточном состоянии
06
Попытка загрузить .dt с новой платформы на старую — операция завершается ошибкой несовместимости

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

Как не доводить до аварийного восстановления

Надёжнее всего настроить регулярную выгрузку .dt по расписанию или бэкап средствами СУБД — тогда восстановление превращается из аварийной процедуры в рутинную операцию. Для файловых баз выгрузку можно автоматизировать запуском конфигуратора в пакетном режиме с параметром /DumpIB.

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

Итог

Что важно запомнить

Основной способ восстановления через конфигуратор — загрузка файла .dt через «Администрирование → Загрузить информационную базу» в монопольном режиме. Перед любыми действиями сделайте копию текущего состояния, а после восстановления проверьте актуальность данных и целостность ссылок. При отсутствии выгрузки используют копию 1Cv8.1CD, бэкап СУБД или утилиту chdbfl как крайнюю меру.

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

Можно ли восстановить базу, если выгрузки .dt никогда не делались?

Да, если есть копия файла 1Cv8.1CD (для файловой базы) или бэкап средствами СУБД (для серверной). Если нет и того, и другого, остаётся попытаться починить повреждённый файл утилитой chdbfl и тестированием-исправлением, но полное восстановление данных в этом случае не гарантируется.

Чем загрузка .dt отличается от восстановления из бэкапа SQL?

Файл .dt создаётся и загружается штатными средствами платформы и содержит базу целиком, но на больших базах работает медленно. Бэкап СУБД создаётся средствами MS SQL или PostgreSQL, восстанавливается быстрее и позволяет откатиться на конкретный момент времени при настроенном журналировании. Конфигуратор в этом сценарии не используется.

После загрузки .dt платформа просит обновить конфигурацию базы данных — это нормально?

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

База не открывается с ошибкой «ошибка формата потока» — что делать?

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

Можно ли восстановить только часть данных, а не всю базу?

Штатная загрузка .dt заменяет базу целиком, выборочного режима у неё нет. Для частичного переноса используют типовую обработку «Выгрузка и загрузка данных XML», которая переносит выбранные объекты между базами с одинаковой конфигурацией, либо специализированные обработки переноса.

Сколько времени занимает загрузка .dt?

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