Восстанавливаем базу 1С из резервной копии: DT, 1CD, ZIP и SQL

· 10 мин

Содержание

Чтобы открыть базу данных 1С из архива, сначала посмотрите на расширение файла. Выгрузку .dt загружают в пустую базу через Конфигуратор: Администрирование → Загрузить информационную базу. Файл 1Cv8.1CD (обычно лежит внутри ZIP) достаточно распаковать в отдельную папку и добавить её в список баз в окне запуска.

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

Что за архив у вас на руках и что подготовить

Способ восстановления зависит от того, чем и как делали копию. Определите тип по расширению и содержимому.

Что в архивеОткуда берётсяКак открыть
Файл *.dtВыгрузка из Конфигуратора или регламентное заданиеЗагрузить в пустую базу через Конфигуратор
Файл 1Cv8.1CD (часто в ZIP/RAR)Копия папки файловой базыРаспаковать в папку и добавить в список баз
ZIP с датой в имениВстроенное резервное копирование типовой конфигурацииРаспаковать, найти внутри 1Cv8.1CD или .dt
*.bakБэкап MS SQL ServerВосстановить в SQL, затем зарегистрировать базу в кластере 1С
*.backup, *.dump, *.sqlБэкап PostgreSQLВосстановить через pg_restore или psql, затем зарегистрировать в кластере
*.cfТолько конфигурация, без данныхЭто не база. Учёта там нет, восстановить проводки из .cf нельзя

Перед стартом проверьте три вещи:

  • 🖥️ Версию платформы. Номер версии на вашем компьютере должен быть не ниже той, на которой делали копию. Узнать её можно в окне Справка → О программе исходной базы, если она жива, или у того, кто делал выгрузку.
  • 💾 Место на диске. Файловая база после загрузки занимает в несколько раз больше, чем .dt: выгрузка сжата. Под выгрузку на 1 ГБ закладывайте 4–6 ГБ свободного места.
  • 📁 Отдельную папку. Никогда не распаковывайте копию поверх рабочей базы. Создайте, например, D:\Bases\Restore_2510 и работайте там.

Если копию нужно только посмотреть (найти удалённый документ, сверить остатки), восстанавливайте её как отдельную, тестовую базу. Рабочую базу при этом трогать не нужно вообще.

Загрузка выгрузки .dt через Конфигуратор

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

Шаг 1. Создайте пустую базу

  1. Запустите 1С, в окне выбора баз нажмите Добавить.
  2. Выберите Создание новой информационной базы.
  3. Отметьте вариант создания базы без конфигурации (пустой). Шаблон не нужен: всё придёт из .dt.
  4. Укажите имя, например «Восстановление из архива», и тип расположения — на этом компьютере.
  5. Задайте каталог — ту самую отдельную папку. Нажмите Готово.

Шаг 2. Загрузите выгрузку

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

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

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

Загрузка .dt из командной строки

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

@echo off
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
rem Создаём пустую файловую базу
%V8% CREATEINFOBASE File="D:\Bases\Restore_2510"
rem Загружаем выгрузку и пишем лог
%V8% DESIGNER /F "D:\Bases\Restore_2510" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log"

Номер версии в пути замените на свой: загляните в C:\Program Files\1cv8\. Для серверной базы вместо /F укажите /S "имя_сервера\имя_базы". Если в базе уже есть пользователи, добавьте /N "Имя" и /P "пароль". Результат смотрите в файле лога: успешная загрузка там отмечается без ошибок.

Распаковка ZIP и RAR с файловой базой

Файловая база 1С — это папка, где главный файл называется 1Cv8.1CD. Её копию обычно архивируют целиком. Встроенное резервное копирование типовых конфигураций (в БП 3.0 это Администрирование → Обслуживание, группа резервного копирования) тоже складывает файловую базу в ZIP.

Порядок действий:

  1. Распакуйте архив в отдельную папку. Для ZIP хватит штатных средств Windows, для RAR и 7z нужен 7-Zip или WinRAR.
  2. Найдите внутри файл 1Cv8.1CD. Запомните папку, в которой он лежит: именно её, а не сам файл, указывают при добавлении базы.
  3. В окне запуска 1С нажмите Добавить → Добавление в список существующей информационной базы.
  4. Введите название и укажите каталог с 1Cv8.1CD.
  5. Нажмите Готово и запустите базу.

Если в ZIP лежит не 1Cv8.1CD, а файл .dt, переходите к загрузке через Конфигуратор из предыдущего раздела.

После распаковки откройте свойства 1Cv8.1CD и снимите атрибут «Только чтение», если он стоит. С таким атрибутом файл часто приходит с флешки, диска или из облачного хранилища, и база не откроется на запись.

Архив с паролем или разбитый на части

  • 🔐 Архивы от сторонних программ резервного копирования часто защищены паролем. Без пароля распаковать их не получится — спросите того, кто настраивал копирование.
  • 🧩 Многотомный архив (.part1.rar, .z01, .7z.001) распаковывайте только когда все части лежат в одной папке. Открывайте первую часть.
  • 📉 Если архиватор сообщает об ошибке CRC, файл внутри повреждён. Попробуйте режим восстановления в WinRAR или возьмите более раннюю копию.

Серверные базы: бэкапы MS SQL и PostgreSQL

В клиент-серверном варианте данные хранятся в СУБД. Восстановить такую базу можно двумя путями.

ПутьКогда подходитРиски
Загрузить .dt в новую серверную базуЕсть выгрузка .dt, база до 20–30 ГБДолго на больших объёмах
Восстановить бэкап СУБД и зарегистрировать его в кластереЕсть .bak или дамп PostgreSQLНужны права администратора СУБД

Восстановление .bak в MS SQL Server

  1. Откройте SQL Server Management Studio.
  2. Щёлкните правой кнопкой по папке Databases → Restore Database.
  3. Выберите источник Device и укажите .bak.
  4. В поле имени базы введите новое имя, например buh_restore. Не восстанавливайте поверх рабочей базы.
  5. На вкладке файлов проверьте пути .mdf и .ldf, чтобы они не совпали с файлами рабочей базы.
  6. Запустите восстановление.

Тот же результат даёт T-SQL:

RESTORE DATABASE buh_restore
FROM DISK = N'D:\Backup\buh_full.bak'
WITH MOVE N'buh' TO N'D:\SQLData\buh_restore.mdf',
     MOVE N'buh_log' TO N'D:\SQLData\buh_restore_log.ldf',
     STATS = 10;

Логические имена файлов (buh, buh_log) у вас будут свои. Узнайте их командой RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh_full.bak'.

Восстановление дампа PostgreSQL

Для 1С используют сборку PostgreSQL с доработками для 1С. Дамп в формате custom восстанавливают так:

createdb -U postgres buh_restore
pg_restore -U postgres -d buh_restore /backup/buh.backup

Если дамп текстовый (.sql), его загружают через psql -U postgres -d buh_restore -f /backup/buh.sql.

Регистрация восстановленной базы в кластере 1С

Сама по себе база в СУБД ещё не видна 1С. Её нужно зарегистрировать:

  1. Откройте консоль администрирования серверов 1С:Предприятия.
  2. Разверните кластер → Информационные базы → Создать → Информационная база.
  3. Укажите имя базы в кластере, тип СУБД, сервер баз данных и имя восстановленной базы в СУБД (buh_restore).
  4. Флажок «Создать базу данных в случае ее отсутствия» не ставьте: база уже есть.
  5. После этого добавьте базу в список на клиенте: Добавить → Добавление в список существующей информационной базы → на сервере 1С:Предприятия, укажите кластер и имя базы.

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

Драйверы и ODBC: когда они действительно нужны

В описаниях восстановления часто советуют «настроить ODBC». Для 1С 8.3 это лишнее в большинстве сценариев.

  • 📂 Файловая база. Никакие драйверы не нужны. Платформа работает с 1Cv8.1CD напрямую.
  • 🗄️ MS SQL Server. Сервер 1С подключается к СУБД через клиентский провайдер MS SQL, а не через источник данных ODBC. Провайдер должен стоять на компьютере с рабочим сервером 1С, а не у пользователя. Если его нет, база не создаётся и не открывается, хотя в SSMS всё видно.
  • 🐘 PostgreSQL. Сервер 1С работает с ним своими средствами, ODBC для восстановления не требуется.

Источник данных ODBC имеет смысл только в двух случаях. Первый — когда восстановленные данные нужно прочитать сторонней программой (Excel, отчёты BI) напрямую из SQL-базы. Второй — когда в самой конфигурации настроены внешние источники данных через ODBC. Тогда после переноса на другой сервер проверьте, что там создан источник с тем же именем и той же разрядности, что и клиент 1С.

Разрядность важна: 64-битный клиент 1С видит только 64-битные источники ODBC. Их настраивают в «Источниках данных ODBC (64-разрядная версия)» из панели администрирования Windows.

Проверка целостности восстановленной базы

Открылась — ещё не значит, что всё на месте. Перед тем как работать в восстановленной копии, проверьте её.

  1. Тестирование средствами Конфигуратора. Администрирование → Тестирование и исправление. Для первой проверки отметьте только проверку логической целостности и ссылочной целостности, режим — «Только проверка». Исправлять без копии не спешите.
  2. Утилита chdbfl.exe для файловой базы. Лежит в папке bin платформы. Укажите путь к 1Cv8.1CD и запустите проверку без флажка исправления. Утилита работает с закрытой базой: никто не должен быть в ней.
  3. Сверка с учётом. Сформируйте оборотно-сальдовую ведомость за последний закрытый период и сравните с тем, что сдавали в отчётности. Найдите последний введённый документ: его дата покажет, на какой момент сделана копия.
  4. Для SQL-базы — DBCC CHECKDB ('buh_restore') в SSMS. Ошибки там означают повреждение на уровне СУБД.
Восстановленная копия готова к работе, если
Выполнено: 0 / 5

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

Ошибки при открытии восстановленной базы

Ниже — сообщения, с которыми чаще всего сталкиваются после восстановления, и что с ними делать.

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

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

Можно ли открыть .dt без загрузки в базу?
Нет. Посмотреть содержимое выгрузки без загрузки штатными средствами нельзя. Создайте отдельную пустую базу и загрузите .dt в неё — рабочая база при этом не пострадает.
Можно ли из архива восстановить только один документ или справочник?
Напрямую — нет: .dt и 1Cv8.1CD восстанавливаются целиком. Восстановите копию как отдельную базу, найдите нужные объекты и перенесите их в рабочую базу обработкой выгрузки-загрузки данных через XML.
Можно ли открыть архив на другом компьютере?
Да. На нём должна стоять платформа с номером версии не ниже исходной и быть лицензия 1С для этого компьютера. Сама копия к компьютеру не привязана.
Как перенести серверную базу в файловую из бэкапа SQL?
Восстановите .bak на любом SQL Server, зарегистрируйте базу в кластере, выгрузите из неё .dt через Конфигуратор и загрузите эту выгрузку в новую файловую базу.
Сколько хранить архивные копии?
Держите минимум несколько поколений: ежедневные за неделю и ежемесячные за год. Одна последняя копия опасна — повреждение базы могло попасть и в неё.