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

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

Как восстановить базу данных 1С: файловый и клиент-серверный варианты

Как восстановить базу данных 1С из копии dt, бэкапа SQL или повреждённого файла 1Cv8. Пошаговые инструкции, проверка результата и типичные ошибки.

Восстановление базы данных 1С требуется после сбоя оборудования, случайного удаления файлов, неудачного обновления конфигурации или повреждения информационной базы. Порядок действий зависит от режима работы: файловая база хранится в одном файле 1Cv8.1CD, а клиент-серверная — в СУБД (MS SQL Server, PostgreSQL, Oracle), и методы восстановления у них различаются принципиально.

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

Ниже разобраны основные сценарии: восстановление из выгрузки dt, из бэкапа SQL, ремонт повреждённой файловой базы утилитой chdbfl и тестированием и исправлением, а также проверка результата и частые ошибки.

Определите тип базы и характер повреждения

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

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

Ошибка «Неверный формат хранилища данных»Повреждён файл 1Cv8.1CD

Пробуйте chdbfl, затем тестирование и исправление

База открывается, но падает на отдельных документахЛокальное повреждение таблиц

Тестирование и исправление с реструктуризацией

Файл базы удалён или диск отформатированДанных на месте нет

Ищите бэкап, теневые копии Windows, архивы dt

Ошибки SQL Server при подключенииПроблема на стороне СУБД

Проверяйте состояние базы в SSMS, логи СУБД

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

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

Создайте новую пустую информационную базу: в окне запуска нажмите «Добавить» → «Создание новой информационной базы» → вариант «без конфигурации». Затем войдите в конфигуратор новой базы, выберите «Администрирование» → «Загрузить информационную базу» и укажите файл dt. Процесс для больших баз занимает от десятков минут до нескольких часов.

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

Восстановление из dt
  1. 1
    Создайте новую пустую базу без конфигурации
  2. 2
    Откройте её в конфигураторе
  3. 3
    Администрирование → Загрузить информационную базу → выберите файл dt
  4. 4
    Дождитесь окончания загрузки и выполните первичный запуск в режиме предприятия
  5. 5
    Проверьте ключевые отчёты и документы за последние даты

Восстановление клиент-серверной базы из бэкапа СУБД

Для баз на MS SQL Server восстановление выполняется через SQL Server Management Studio. Подключитесь к серверу, в обозревателе объектов вызовите контекстное меню узла «Базы данных» → «Восстановить базу данных», укажите устройство с файлом .bak и целевое имя базы. Если восстанавливаете поверх существующей, на вкладке «Параметры» включите перезапись и снимите активные соединения.

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

Для PostgreSQL используются утилиты pg_dump/pg_restore или команда createdb с последующим восстановлением дампа. Важно, чтобы версия сервера PostgreSQL и используемая сборка (для 1С требуются специальные сборки) совпадали с исходной средой, иначе возможны ошибки при загрузке дампа.

Ремонт повреждённой файловой базы

Утилита chdbfl.exe

Если копии нет, а файл 1Cv8.1CD повреждён, первым инструментом идёт утилита chdbfl.exe из каталога bin установленной платформы (папка конкретной версии). Запустите её, укажите путь к файлу базы, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Исполнить». Утилита проверяет физическую целостность таблиц и удаляет нечитаемые фрагменты.

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

Тестирование и исправление

После chdbfl (или сразу, если база ещё открывается в конфигураторе) запустите «Администрирование» → «Тестирование и исправление». Отметьте проверки логической и ссылочной целостности, выберите вариант «Тестирование и исправление». Пункт «Реиндексация» и «Реструктуризация таблиц» включайте осознанно: реструктуризация на повреждённой базе может занять часы и при обрыве усугубить состояние.

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

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

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

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

Дополнительно полезно выполнить полное тестирование и исправление уже без исправлений — в режиме «Только тестирование», чтобы убедиться в отсутствии ошибок логической целостности. Ошибки ссылочной целостности (битые ссылки) говорят о том, что часть объектов была потеряна при повреждении.

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

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

Запуск базы в режиме предприятия
Норма

Открывается без ошибок, пользователи входят

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

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

ОСВ за последний закрытый период
Норма

Итоги совпадают с ранее сохранёнными отчётами

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

Расхождения оборотов или сальдо

Документы последних дней
Норма

Открываются и проводятся

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

Ошибки при открытии, пустые поля, битые ссылки

Тестирование без исправления
Норма

Ошибок не обнаружено

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

Сообщения о нарушении целостности

Частые ошибки и маршрут выбора действий

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

Также часто забывают, что после восстановления базы из бэкапа на новом сервере нужно заново привязать базу в консоли кластера 1С или исправить строку подключения в списке баз пользователей.

Типичные ошибки
01
Запуск chdbfl на единственном файле без копии — при неудаче откатиться уже нельзя
02
Восстановление старого бэкапа вместо ремонта текущей базы — теряются свежие данные
03
Прерывание тестирования и исправления — база остаётся в промежуточном состоянии
04
Работа пользователей во время восстановления — новые повреждения и конфликты
05
Игнорирование кэша метаданных — ложный диагноз «база испорчена»
Маршрут решения

Как выбрать действие

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

Профилактика: как не попасть в ситуацию восстановления

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

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

Итог

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

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

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

Можно ли восстановить базу 1С без бэкапа?

Да, если сам файл базы сохранился. Файловую базу пробуют починить утилитой chdbfl.exe и режимом «Тестирование и исправление». Если файл удалён, проверьте теневые копии Windows (свойства папки → «Предыдущие версии») и корзину. Полное отсутствие файла и копий обычно означает потерю данных.

Чем отличается выгрузка dt от копирования файла 1Cv8.1CD?

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

База открывается с ошибкой «Неверный формат хранилища данных». Что делать?

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

Сколько времени занимает восстановление?

Загрузка dt небольшой базы — от нескольких минут, базы в десятки гигабайт — несколько часов. Восстановление бэкапа SQL обычно быстрее загрузки dt сопоставимого объёма. Проверка chdbfl на большом файле также может идти часами — не прерывайте процесс.

После восстановления часть документов пропала. Это исправимо?

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

Нужно ли восстанавливать базу на той же версии платформы?

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