Восстанавливаем информационную базу 1С из резервной копии

· 10 мин

Содержание

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

Частая ошибка — пытаться «загрузить» через Конфигуратор файл .cf. В нём только конфигурация, без документов и справочников. Данные хранятся в .dt (выгрузка) или в 1Cv8.1CD (сама файловая база). Для клиент-серверной базы есть третий вариант — бэкап СУБД.

С чего начать: что за файл у вас на руках и какой способ выбрать

Определите формат копии по расширению. От него зависит весь порядок действий.

Что у васЧто внутриКак восстанавливатьКогда подходит
*.dtКонфигурация + все данные + список пользователейЗагрузка через Конфигуратор или командную строкуПеренос между файловым и серверным вариантом, на другой компьютер
1Cv8.1CDФайловая база целикомСкопировать в папку и подключитьБыстрый перенос файловой базы
*.bak (MS SQL), дамп PostgreSQLБаза СУБДСредствами СУБД, затем регистрация в кластереБольшие серверные базы
*.cfТолько конфигурацияНе восстанавливает данныеОбновление и замена конфигурации
*.zip, *.7zОбычно одно из перечисленногоСначала распаковатьКопии из облака, от программиста

Перед стартом проверьте четыре вещи.

  • 📦 Место на диске. Распакованная база бывает в 3–10 раз больше файла .dt. Выгрузка на 2 ГБ легко превращается в базу на 12–15 ГБ.
  • 🔢 Версия платформы. Номер версии, в которой вы загружаете, должен быть не ниже той, в которой сделана выгрузка. Номер платформы видно в окне Справка → О программе.
  • 👤 Логин и пароль из исходной базы. После загрузки .dt список пользователей заменяется тем, что был в копии. Входить придётся под учётной записью из старой базы.
  • 💻 Разрядность клиента. Большие выгрузки (от нескольких гигабайт) надёжнее загружать 64-разрядным клиентом — 32-разрядному может не хватить памяти.

Если копия пришла в архиве, распакуйте его в папку с коротким путём без кириллицы, например D:\Restore\. Длинные пути с пробелами и спецсимволами мешают при запуске из командной строки.

Загрузка базы в 1С 8.3 из выгрузки .dt

Это универсальный способ. Он работает для файловой и серверной базы и не зависит от того, где была сделана копия.

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

  1. Запустите 1С и в окне выбора баз нажмите Добавить.
  2. Выберите Создание новой информационной базы.
  3. Отметьте Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы.
  4. Укажите имя базы, например «Бухгалтерия — восстановление».
  5. Выберите тип расположения: на этом компьютере (файловая) или на сервере 1С:Предприятия.
  6. Для файловой базы укажите пустой каталог, например D:\Bases\Buh_restore. Завершите мастер.

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

Загрузка .dt удаляет всё, что было в базе-приёмнике. Отката нет.

Шаг 2. Откройте базу в Конфигураторе

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

Шаг 3. Загрузите файл

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

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

Шаг 4. Первый запуск в пользовательском режиме

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

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

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

Восстановление файловой базы из копии 1Cv8.1CD

Файловая база — это папка с файлом 1Cv8.1CD. Если у вас есть копия этого файла, восстановление занимает пару минут.

  1. Создайте папку, например D:\Bases\Buh_copy.
  2. Скопируйте туда файл. Имя должно быть ровно 1Cv8.1CD — если копия называется 1Cv8_backup.1CD или base.1cd, переименуйте её.
  3. В окне запуска нажмите Добавить → Добавление в список существующей информационной базы.
  4. Укажите каталог D:\Bases\Buh_copy — именно папку, а не сам файл.
  5. Запустите базу.

Рядом с 1Cv8.1CD в рабочей папке лежат служебные файлы, например 1Cv8.1CL, и вложенные каталоги. Копировать их не обязательно — платформа создаст их заново.

Если копию сделали «на ходу»

Файл, скопированный в момент, когда в базе работали пользователи, бывает повреждён. Признак — ошибки при открытии или при формировании отчётов. Проверьте его утилитой chdbfl.exe: она лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\.

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

Более полная проверка выполняется в Конфигураторе: Администрирование → Тестирование и исправление.... Для неё нужен монопольный режим — все пользователи должны выйти из базы.

Клиент-серверная база: восстановление через СУБД и через .dt

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

Вариант А. Загрузка .dt на сервер

Порядок тот же, что для файловой базы. Отличие одно: на шаге создания выберите расположение на сервере 1С:Предприятия и заполните параметры.

  • 🖥 Кластер серверов 1С — имя сервера, например srv-1c (по умолчанию клиент подключается к агенту на порту 1540).
  • 🏷 Имя базы в кластере — например buh_restore.
  • 🗄 Тип СУБД, сервер баз данных, имя базы данных — MS SQL Server или PostgreSQL, сервер СУБД и имя базы на нём.
  • 🔑 Пользователь и пароль СУБД — учётная запись с правом создавать базы .
  • ✅ Галочка Создать базу данных в случае ее отсутствия — оставьте включённой.
  • ✅ Галочка Установить блокировку регламентных заданий — включите для тестовой копии, чтобы задания не начали работать до проверки.

Дальше — Конфигуратор и Администрирование → Загрузить информационную базу..., как описано выше.

Вариант Б. Восстановление бэкапа СУБД

Для баз в десятки и сотни гигабайт загрузка .dt идёт долго. Бэкап средствами СУБД восстанавливается быстрее.

MS SQL Server:

  1. В SQL Server Management Studio восстановите .bak в новую базу (Restore Database), задайте ей новое имя.
  2. В консоли кластера 1С создайте информационную базу и укажите в ней это имя базы на SQL-сервере.
  3. Включите блокировку регламентных заданий, если это копия.

PostgreSQL — восстановление дампа из командной строки:

createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore -j 4 /backup/buh.backup

Ключ -j 4 запускает восстановление в четыре потока. Работает для дампа в формате custom или directory. Затем базу регистрируют в кластере 1С так же, как для MS SQL.

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

СпособСкоростьПлюсыРиски
.dt через КонфигураторМедленно на больших базахНе зависит от СУБД, переносит между вариантамиДолго, нужен монопольный режим
Бэкап MS SQLБыстроТочная копия, есть журналы транзакцийНужен доступ администратора СУБД
Дамп PostgreSQLБыстро при -jПараллельное восстановлениеНужно совпадение версий и сборки PostgreSQL для 1С

Ошибки при загрузке базы и что с ними делать

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

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

Что проверить, если загрузка прошла, но работает странно

  • 🗓 Не те данные. Убедитесь, что копия свежая: откройте журнал документов и посмотрите дату последнего документа.
  • 🔄 Пошли обмены. Регламентные задания включились в копии. Заблокируйте их в свойствах базы в консоли кластера или выберите в окне при входе вариант «копия».
  • 🔐 Требует лицензию. Лицензия привязана к компьютеру, а не к базе. На новом рабочем месте её нужно получить или подключить заново.

Автоматизация: резервные копии по расписанию и восстановление из командной строки

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

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

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

Выгрузка:

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

Загрузка в базу-копию:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh_test" /N"Администратор" /P"пароль" /RestoreIB "E:\Backup\buh.dt" /Out"E:\Backup\restore.log" /DisableStartupDialogs

Для серверной базы вместо /F"путь" указывают /S"srv-1c\buh". Номер версии в пути подставьте свой.

  • 📝 /Out пишет журнал — по нему видно, прошла ли операция.
  • 🚫 /DisableStartupDialogs убирает диалоги, которые остановили бы скрипт.
  • ⏰ Скрипт ставят в «Планировщик заданий» Windows на ночное время, когда никто не работает.

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

С версии 8.3.14 есть утилита ibcmd — она умеет выгружать и загружать базу без запуска Конфигуратора. Набор команд зависит от версии платформы, список смотрите в справке ibcmd help.

Встроенное копирование в типовых конфигурациях

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

Копии на уровне СУБД

  • 🗄 MS SQL Server — план обслуживания (Maintenance Plan) с полной копией раз в сутки и копиями журнала в течение дня, если база в полной модели восстановления.
  • 🐘 PostgreSQL — pg_dump -Fc по расписанию cron, плюс при необходимости архивирование WAL для восстановления на момент времени.

Правило трёх копий

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

Пробное восстановление раз в месяц
Выполнено: 0 / 6

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

Можно ли загрузить .dt в базу, где уже есть данные?
Можно, но содержимое базы будет полностью заменено данными из файла. Объединения не происходит. Для слияния данных нужны обработки переноса, а не загрузка .dt.
Можно ли загрузить файловую базу на сервер и наоборот?
Да. Выгрузите базу в .dt там, где она сейчас, создайте пустую базу нужного типа и загрузите файл. Копирование 1Cv8.1CD в серверную базу не работает.
Сколько длится загрузка .dt?
Зависит от объёма и дисков. Ориентировочно база на 5–10 ГБ на SSD загружается за 15–40 минут, на сотни гигабайт уходят часы. На HDD — в разы дольше.
Нужна ли лицензия, чтобы загрузить базу?
Для запуска Конфигуратора на компьютере нужна лицензия платформы, как и для обычной работы. Лицензии хранятся отдельно от базы и через .dt не переносятся.
Чем открыть .dt без 1С?
Ничем. Формат внутренний, читать его умеет только платформа 1С:Предприятие. Нужна установленная платформа версии не ниже той, в которой сделана выгрузка.