Восстановление информационной базы 1С 8.3 после сбоя: от копии до ремонта файла

· 10 мин

Содержание

Быстрее всего восстановить базу в 1С 8.3 из резервной копии: откройте Конфигуратор, выберите Администрирование → Загрузить информационную базу и укажите файл .dt. Если свежей копии нет, а база повреждена, для файлового варианта запустите утилиту chdbfl.exe из каталога платформы, а затем Администрирование → Тестирование и исправление в Конфигураторе. Клиент-серверную базу поднимают из бэкапа средствами СУБД — SQL Server или PostgreSQL.

Порядок общий для платформы 8.3 и не зависит от конфигурации: так восстанавливают и Бухгалтерию 3.0, и ЗУП 3.1, и УТ 11. Различаются только способ хранения данных (файл или СУБД) и то, какие копии у вас есть.

Что сломалось: диагностика перед восстановлением базы

Не начинайте восстанавливать вслепую. Сначала поймите, что именно повреждено, — от этого зависит способ.

Типичные сообщения и что за ними стоит:

  • 🔴 Файл базы данных поврежден — повреждена страница внутри 1Cv8.1CD. Чаще всего после отключения питания, сбоя диска или антивируса, который «держал» файл во время записи.
  • 🔴 Ошибка формата потока — испорчены служебные данные или кэш. Часто лечится очисткой кэша, без ремонта базы.
  • 🔴 Нарушена целостность структуры конфигурации — повреждена конфигурация, а не сами данные.
  • 🔴 Неверный формат хранилища данных — файл открывают платформой не той версии или файл обрезан при копировании.
  • 🟡 Ошибки СУБД с текстом от SQL Server или PostgreSQL — проблема на стороне сервера баз данных, и восстанавливать нужно там.
  • 🟡 База открывается, но отчёты показывают странные остатки, а документы — «битые» ссылки вида <Объект не найден>. Это логические ошибки, их чинит тестирование и исправление.

Перед любыми действиями проверьте три вещи:

  1. Размер файла 1Cv8.1CD. Если он 0 байт или резко меньше обычного, ремонтировать нечего — нужна копия.
  2. Место на диске. Ремонт и выгрузка требуют свободного места не меньше размера базы, лучше вдвое больше.
  3. Дату последней резервной копии. От неё зависит, сколько дней работы придётся восстанавливать вручную.

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

Диагностика: выберите симптом

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

Файл .dt — это выгрузка информационной базы: конфигурация плюс все данные. Его делают через Администрирование → Выгрузить информационную базу, а многие типовые конфигурации умеют создавать копии по расписанию. Восстановление из .dt одинаково работает для файловой и серверной базы.

Пошагово

  1. Попросите всех пользователей выйти из базы. Загрузка .dt требует монопольного доступа.
  2. Запустите 1С и выберите базу в списке, нажмите Конфигуратор.
  3. Откройте меню Администрирование → Загрузить информационную базу.
  4. Укажите файл .dt и нажмите Открыть.
  5. Подтвердите предупреждение: текущие данные будут заменены данными из файла.
  6. Дождитесь окончания загрузки. База на 5 ГБ на обычном SSD грузится примерно 10–30 минут, крупные — дольше.
  7. Перезапустите Конфигуратор и войдите в режиме 1С:Предприятие, проверьте последние документы.

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

Восстановление в новую базу

Это безопасный вариант, когда вы не уверены в копии:

  1. В окне запуска нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации.
  2. Укажите новый каталог (для файловой) или новый кластер/имя базы (для серверной).
  3. Откройте новую базу в Конфигураторе и загрузите туда .dt.

Так у вас остаются обе версии. Нужные документы за последние дни потом переносят выгрузкой-загрузкой или вводят руками.

Восстановление через встроенный механизм копирования

В Бухгалтерии 3.0, ЗУП 3.1 и других конфигурациях на БСП для файловых баз есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Там же есть команда восстановления из копии, сделанной этим механизмом. Программа сама завершит сеансы, загрузит копию и перезапустится. Для клиент-серверных баз этот механизм копии не делает — там работают средства СУБД.

Из командной строки

Для скриптов и восстановления без интерфейса подходит пакетный режим Конфигуратора:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\buh_2026-10-06.dt" /Out "D:\Backup\restore.log"

Номер версии в пути замените на свой. Ключ /RestoreIB загружает .dt, /Out пишет лог — в нём будет видно, чем закончилась загрузка. Для серверной базы вместо /F используют /S "сервер\имя_базы".

Ручное восстановление файловой базы: работа с 1Cv8.1CD

Файловая база — это каталог, где главный файл — 1Cv8.1CD. В нём лежат и конфигурация, и данные. Если резервной копии нет, ремонтируют именно его.

Шаг 1. Утилита chdbfl.exe

Утилита входит в состав платформы и лежит в каталоге bin, например C:\Program Files\1cv8\8.3.24.1548\bin\chdbfl.exe. Она проверяет физическую структуру файла и не требует запуска 1С.

  1. Закройте все сеансы 1С с этой базой.
  2. Сделайте копию каталога базы.
  3. Запустите chdbfl.exe (лучше от имени администратора).
  4. В поле файла укажите путь к 1Cv8.1CD.
  5. Поставьте галочку Исправлять обнаруженные ошибки.
  6. Нажмите Выполнить и дождитесь итога.

Если утилита пишет, что ошибки исправлены, переходите ко второму шагу. Если сообщает о невосстановимых повреждениях — нужна копия или сторонние средства (о них ниже).

Битость часто сидит в одном-двух объектах. После chdbfl.exe база может открыться, но часть документов будет пустой. Поэтому второй шаг обязателен.

Шаг 2. Тестирование и исправление в Конфигураторе

Это проверка логической структуры: таблиц, ссылок, итогов.

  1. Откройте базу в Конфигураторе.
  2. Выберите Администрирование → Тестирование и исправление.
  3. Отметьте проверки: реиндексацию таблиц, проверку логической и ссылочной целостности, пересчёт итогов. Сжатие и реструктуризацию включайте отдельным проходом — они долгие.
  4. Выберите режим Тестирование и исправление, а не только тестирование.
  5. Для битых ссылок выберите, что делать: создавать объекты-заглушки, очищать ссылки или ничего не менять. Для первой попытки безопаснее создавать объекты — потом их видно и можно разобрать руками.
  6. Нажмите Выполнить и сохраните протокол.

Тот же набор проверок запускают из командной строки:

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

Шаг 3. Выгрузка и загрузка как «лечение»

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

Восстановление серверной базы на SQL Server и PostgreSQL

В клиент-серверном варианте данные хранятся в СУБД. Кластер 1С только обращается к ним. Поэтому и восстанавливают базу средствами самой СУБД.

Подготовка в кластере 1С

Перед загрузкой бэкапа поверх рабочей базы:

  1. В консоли администрирования серверов 1С откройте свойства информационной базы.
  2. Включите Блокировка начала сеансов и блокировку регламентных заданий.
  3. Завершите активные сеансы пользователей.

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

SQL Server

Через SQL Server Management Studio: правый щелчок по Databases → Restore Database, выбрать источник Device, указать файл .bak, на вкладке параметров отметить перезапись существующей базы.

То же на T-SQL:

-- закрываем подключения к базе
ALTER DATABASE buh SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

-- восстанавливаем полный бэкап
RESTORE DATABASE buh
FROM DISK = N'D:\SQLBackup\buh_full.bak'
WITH REPLACE, RECOVERY;

ALTER DATABASE buh SET MULTI_USER;

Если база в модели восстановления FULL и есть журналы транзакций, базу можно вернуть на конкретную минуту до сбоя. Полный бэкап восстанавливают с NORECOVERY, затем по очереди журналы, последний — с STOPAT = '2026-10-06T14:30:00' и RECOVERY.

Проверить физическую целостность базы без восстановления помогает DBCC CHECKDB (buh). Если он показывает ошибки, исправление с потерей данных (REPAIR_ALLOW_DATA_LOSS) — крайняя мера: после неё обязательно запускайте тестирование и исправление в Конфигураторе.

PostgreSQL

Бэкап в пользовательском формате делают pg_dump -Fc, а восстанавливают так:

dropdb -U postgres buh
createdb -U postgres -T template0 buh
pg_restore -U postgres -d buh -j 4 D:\PGBackup\buh.backup

Ключ -j 4 ускоряет загрузку в несколько потоков. Перед dropdb убедитесь, что копия рабочая: восстановите её сначала в базу с другим именем.

После восстановления в СУБД

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

Когда штатных средств мало: Tool_1CD и другие сторонние утилиты

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

Что важно знать:

  • 🔧 Утилиты неофициальные. Фирма 1С их не поддерживает, результат не гарантирован.
  • 🔧 Работайте только с копией файла, не с оригиналом.
  • 🔧 Цель — вытащить что можно: конфигурацию, справочники, документы за последние дни. Потом эти данные переносят в базу, восстановленную из старой копии.
  • 🔧 Если база ценная, а файл сильно повреждён, разумнее обратиться к специалистам по восстановлению данных. Каждая самостоятельная попытка «на оригинале» снижает шансы.

Если повреждена только конфигурация, а данные целы, иногда достаточно загрузить в Конфигураторе файл .cf той же версии через Конфигурация → Загрузить конфигурацию из файла и обновить конфигурацию базы данных.

Что сравнить: способы восстановления базы 1С

СпособКогда подходитЧто теряетеРиск
Загрузка .dtЕсть свежая выгрузкаДанные после даты копииНизкий
Встроенное восстановление БСПФайловая база, копии делала сама программаДанные после копииНизкий
chdbfl.exeФайл 1Cv8.1CD повреждён физическиИногда часть объектовСредний
Тестирование и исправлениеБитые ссылки, итоги, логикаВозможна очистка ссылокСредний
RESTORE / pg_restoreКлиент-серверная базаДанные после бэкапа (или минуты при журналах)Низкий
Tool_1CD и аналогиКопии нет, штатное не помоглоНепредсказуемоВысокий

Профилактика: автоматическое резервное копирование

Лучшее восстановление — то, которое занимает 15 минут по готовой копии. Настройте его до сбоя.

Файловая база

  • 🗓 В типовых конфигурациях откройте Администрирование → Обслуживание → Резервное копирование и восстановление и включите копирование по расписанию. Укажите каталог на другом диске и число хранимых копий.
  • 🗓 Дополнительно раз в день копируйте каталог базы скриптом через планировщик Windows, когда в базе никто не работает. Копирование файла во время работы пользователей даёт битую копию.
  • 🗓 Раз в неделю делайте выгрузку .dt пакетным режимом — это независимая от файла копия.

Пример ночного скрипта:

set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh_%D%.dt" /Out "E:\Backup\dump.log"

Формат даты в %date% зависит от региональных настроек Windows — проверьте, что имя файла получилось правильным.

Серверная база

  • 🗓 Полный бэкап СУБД раз в сутки, журналы транзакций — каждые 15–60 минут (модель FULL для SQL Server).
  • 🗓 Для PostgreSQL — ночной pg_dump -Fc или архивирование WAL для восстановления на момент времени.
  • 🗓 Регламентная проверка целостности: DBCC CHECKDB раз в неделю.

Защита от причин сбоев

  • 🔌 ИБП на сервер и на компьютер, где лежит файловая база.
  • 🛡 Исключение каталога базы и файлов *.1CD из проверки антивирусом.
  • 🌐 Не открывайте файловую базу по Wi-Fi и VPN с нестабильным каналом: обрыв во время записи — частая причина Файл базы данных поврежден.
  • 💾 Следите за свободным местом и состоянием дисков (SMART).

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

Резервное копирование настроено, если
Выполнено: 0 / 5

Частые вопросы о восстановлении базы 1С 8.3

Можно ли восстановить отдельный документ, а не всю базу?
Да. Загрузите копию в отдельную новую базу, найдите там документ и перенесите его выгрузкой-загрузкой данных или введите заново. Рабочую базу при этом не трогают.
Можно ли загрузить .dt, сделанный на другой версии платформы?
Выгрузку можно загрузить на платформу с номером не ниже той, на которой её сделали. Обратно, в более раннюю версию платформы, загрузка может не пройти.
Можно ли восстановить копию файловой базы в серверную?
Да. Формат .dt одинаков для обоих вариантов: создайте пустую базу в кластере и загрузите в неё выгрузку из файловой. Так же работает и обратный перенос.
Как понять, что копия в БСП не битая?
Только восстановив её в отдельную базу и открыв. Размер файла и наличие архива не гарантируют, что данные читаются.
Сколько хранить резервных копий?
Практичный минимум — ежедневные копии за неделю и одна-две за конец каждого месяца. Особенно важна копия перед закрытием периода и сдачей отчётности.