Восстанавливаем информационную базу 1С из резервной копии
Содержание
Чтобы загрузить базу
в 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С:Предприятия.
- Для файловой базы укажите пустой каталог, например
D:\Bases\Buh_restore. Завершите мастер.
Пустая база без конфигурации нужна, чтобы ничего не перезаписать. Загружать .dt в действующую рабочую базу можно, но тогда её содержимое будет полностью заменено.
Загрузка .dt удаляет всё, что было в базе-приёмнике. Отката нет.
Шаг 2. Откройте базу в Конфигураторе
Выделите новую базу в списке и нажмите Конфигуратор. Пустая база откроется без запроса пароля — пользователей в ней ещё нет.
Шаг 3. Загрузите файл
- В меню выберите
Администрирование → Загрузить информационную базу.... - Укажите файл
.dtи нажмитеОткрыть. - Подтвердите предупреждение о том, что данные базы будут заменены.
- Дождитесь окончания. Небольшая база загружается за минуты, база на десятки гигабайт — за час и дольше.
- В конце 1С предложит перезапустить Конфигуратор. Соглашайтесь.
После перезапуска нужна авторизация: вводите логин и пароль пользователя исходной базы с правами администратора.
Шаг 4. Первый запуск в пользовательском режиме
Запустите базу в режиме 1С:Предприятие. Типовые конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) при первом входе после восстановления часто показывают окно о том, что база перемещена или восстановлена из копии.
- Выберите вариант «Это копия информационной базы», если оригинал продолжает работать. Тогда в копии не будут выполняться регламентные задания и обмены, привязанные к рабочей базе.
- Выберите вариант о перемещении базы, если копия заменяет оригинал и дальше работать будут в ней.
Неправильный выбор здесь — частая причина двойной выгрузки в банк, повторной отправки отчётов или обмена тестовой базы с рабочим сайтом. Если сомневаетесь, отметьте «копию»: ограничения потом можно снять.
Восстановление файловой базы из копии 1Cv8.1CD
Файловая база — это папка с файлом 1Cv8.1CD. Если у вас есть копия этого файла, восстановление занимает пару минут.
- Создайте папку, например
D:\Bases\Buh_copy. - Скопируйте туда файл. Имя должно быть ровно
1Cv8.1CD— если копия называется1Cv8_backup.1CDилиbase.1cd, переименуйте её. - В окне запуска нажмите
Добавить→Добавление в список существующей информационной базы. - Укажите каталог
D:\Bases\Buh_copy— именно папку, а не сам файл. - Запустите базу.
Рядом с 1Cv8.1CD в рабочей папке лежат служебные файлы, например 1Cv8.1CL, и вложенные каталоги. Копировать их не обязательно — платформа создаст их заново.
Если копию сделали «на ходу»
Файл, скопированный в момент, когда в базе работали пользователи, бывает повреждён. Признак — ошибки при открытии или при формировании отчётов. Проверьте его утилитой chdbfl.exe: она лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\.
- Убедитесь, что база никем не открыта.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD. - Сначала запустите проверку без галочки исправления. Если найдены ошибки — сделайте ещё одну копию файла и только потом запускайте с исправлением.
Более полная проверка выполняется в Конфигураторе: Администрирование → Тестирование и исправление.... Для неё нужен монопольный режим — все пользователи должны выйти из базы.
Клиент-серверная база: восстановление через СУБД и через .dt
Серверную базу можно восстановить двумя путями. Выбор зависит от размера и от того, какой бэкап у вас есть.
Вариант А. Загрузка .dt на сервер
Порядок тот же, что для файловой базы. Отличие одно: на шаге создания выберите расположение на сервере 1С:Предприятия и заполните параметры.
- 🖥 Кластер серверов
1С — имя сервера, например
srv-1c(по умолчанию клиент подключается к агенту на порту 1540). - 🏷 Имя базы в кластере — например
buh_restore. - 🗄 Тип СУБД, сервер баз данных, имя базы данных — MS SQL Server или PostgreSQL, сервер СУБД и имя базы на нём.
- 🔑 Пользователь и пароль СУБД — учётная запись с правом создавать базы .
- ✅ Галочка
Создать базу данных в случае ее отсутствия— оставьте включённой. - ✅ Галочка
Установить блокировку регламентных заданий— включите для тестовой копии, чтобы задания не начали работать до проверки.
Дальше — Конфигуратор и Администрирование → Загрузить информационную базу..., как описано выше.
Вариант Б. Восстановление бэкапа СУБД
Для баз в десятки и сотни гигабайт загрузка .dt идёт долго. Бэкап средствами СУБД восстанавливается быстрее.
MS SQL Server:
- В SQL Server Management Studio восстановите
.bakв новую базу (Restore Database), задайте ей новое имя. - В консоли кластера 1С создайте информационную базу и укажите в ней это имя базы на SQL-сервере.
- Включите блокировку регламентных заданий, если это копия.
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 для восстановления на момент времени.
Правило трёх копий
Храните минимум три копии на двух разных носителях, одну — вне офиса. Раз в месяц делайте пробное восстановление в отдельную базу. Копия, которую ни разу не разворачивали, может оказаться нерабочей ровно тогда, когда понадобится.