Восстановление базы 1С 8.3 из файла выгрузки .dt
Содержание
Чтобы загрузить dt
в 1С, откройте базу в конфигураторе под администратором и выберите Администрирование → Загрузить информационную базу.... Укажите файл .dt, подтвердите замену данных и дождитесь сообщения об успешной загрузке. Конфигуратор предложит перезапуститься — соглашайтесь.
Способов загрузить выгрузку три. Конфигуратор — для разовой задачи и любой базы. Пакетный запуск 1cv8 DESIGNER /RestoreIB — когда восстановление нужно повторять или запускать по расписанию. Утилита ibcmd — для серверов, где не хочется ставить полноценный клиент. Для файловой базы хватает конфигуратора. Для серверной добавляются блокировка сеансов в консоли кластера и требования к СУБД — без них загрузка остановится на первом же шаге.
Загрузка .dt полностью заменяет конфигурацию и все данные базы, в которую вы загружаете. Отменить её нельзя.
Перед загрузкой: место, права, версия платформы
Сначала решите, куда грузить. Почти всегда правильный ответ — в новую пустую базу, а не поверх рабочей. Так у вас остаётся путь назад, если файл окажется битым или не тем.
Что проверить до начала:
- 💾 Свободное место. Файл
.dtсжат. Развёрнутая база занимает заметно больше — закладывайте запас в несколько раз от размера файла. Место нужно и на диске с базой, и во временной папке пользователя, под которым работает конфигуратор (для сервера — под которым работает служба). - 🔢 Версия платформы. Номер версии платформы, на которой загружаете, должен быть не ниже того, на котором делали выгрузку. Файл с 8.3.24 на 8.3.18 может не загрузиться.
- 🧮 Разрядность. Для выгрузок от нескольких гигабайт берите 64-разрядный конфигуратор. 32-разрядный упирается в лимит памяти процесса.
- 👤 Права. В базе, куда грузите, нужен пользователь с административными правами. Если в пустой базе пользователей нет, конфигуратор пустит без пароля.
- 🔒 Монопольный доступ. На время загрузки в базе не должно быть других сеансов: пользователей, фоновых и регламентных заданий, внешних соединений.
Если грузите поверх существующей базы, сначала сделайте её собственную выгрузку через Администрирование → Выгрузить информационную базу.... Это единственный способ откатиться.
Отдельно про сам файл. Перед долгой загрузкой убедитесь, что он скопировался целиком: сравните размер с оригиналом. Обрезанный при копировании .dt начнёт загружаться, дойдёт до конца прочитанных данных и упадёт с ошибкой — через час ожидания.
Как открыть конфигуратор и подготовить пустую базу
Если базы ещё нет, создайте пустую:
- Запустите 1С:Предприятие, в окне выбора баз нажмите
Добавить.... - Выберите «Создание новой информационной базы».
- На следующем шаге отметьте вариант «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы».
- Задайте имя, тип расположения («На данном компьютере…» для файловой, «На сервере 1С:Предприятия» для серверной) и путь.
- Нажмите
Готово.
Теперь войдите в режим администрирования. В окне выбора баз выделите нужную и нажмите Конфигуратор. Если в базе есть пользователи, введите логин и пароль администратора.
💡 В пустой базе меню конфигуратора короткое, и это нормально: конфигурации ещё нет, загрузка её создаст.
Если конфигуратор не открывается со словами, что база заблокирована или используется, переходите к разделу про ошибки — там разобраны причины.
Пошаговая загрузка dt-выгрузки через конфигуратор
Порядок одинаков для файловой и серверной базы:
- В конфигураторе откройте меню
Администрирование → Загрузить информационную базу.... - В окне выбора файла укажите
.dt. Если в списке пусто, проверьте фильтр типа файлов внизу окна. - Конфигуратор предупредит, что несохранённые данные будут потеряны, а текущая база будет заменена. Подтвердите.
- Ждите. Прогресс-бар внизу окна двигается неравномерно: таблицы разного размера. Небольшая база загружается за минуты, база на десятки гигабайт — часами.
- Появится сообщение об успешной загрузке и предложение перезапустить конфигуратор. Нажмите «Да».
После перезапуска откройте Конфигурация → Открыть конфигурацию. В дереве должны быть ваши справочники и документы, а в окне Справка → О программе — название и версия конфигурации из выгрузки.
Не закрывайте конфигуратор и не выключайте компьютер во время загрузки. Прерванная загрузка оставляет базу в нерабочем состоянии — придётся грузить заново.
Пользователи и их пароли переезжают вместе с выгрузкой. Значит, после загрузки войти в базу можно будет только под логином из исходной базы, а не под тем, под которым вы открывали пустую. Узнайте логин и пароль администратора исходной базы заранее.
Загрузка в клиент-серверную базу: блокировка сеансов и СУБД
В серверном варианте сама загрузка та же, но к ней добавляется подготовка на стороне кластера и СУБД.
Как выгнать пользователей и задания
Попросить всех выйти недостаточно: регламентные задания и сеансы с «зависших» компьютеров останутся. Надёжный путь — блокировка в консоли кластера:
- Откройте «Администрирование серверов 1С Предприятия».
- Раскройте кластер →
Информационные базы, откройте свойства нужной базы. - Включите флаги «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена».
- Задайте время начала и окончания блокировки, текст сообщения и «Код разрешения» — например,
12345. - Сохраните, затем в ветке
Сеансыэтой базы завершите оставшиеся сеансы.
Завершение сеансов обрывает работу пользователей без сохранения. Делайте это вне рабочего времени или после предупреждения.
Чтобы конфигуратор зашёл в заблокированную базу, добавьте в параметры запуска ключ /UC12345 (код разрешения из шага 4). В окне выбора баз: Изменить... → Дополнительные параметры запуска.
После загрузки снимите оба флага блокировки — иначе утром никто не войдёт.
Что нужно от СУБД
- 🐘 PostgreSQL — используйте сборку с патчами для 1С, обычная может не поддерживать нужные типы данных.
- 🗄 MS SQL Server — пользователь, указанный в параметрах базы, должен иметь права на создание баз (если базу создаёт кластер) или быть владельцем существующей базы.
- 📏 Место в СУБД. Под журнал транзакций MS SQL при загрузке нужно много места. Если база в модели восстановления «Full», журнал может разрастись до размеров самой базы.
💡 Для больших серверных баз .dt — медленный способ переноса. Бэкап и восстановление средствами СУБД обычно быстрее в разы. Загрузку .dt оставьте для переноса между СУБД (например, с MS SQL на PostgreSQL) или из файловой базы в серверную.
Порты и доступ
Конфигуратор подключается к агенту сервера (порт 1540 по умолчанию), тот передаёт его менеджеру кластера (1541) и рабочим процессам. Если загрузка идёт с другого компьютера, эти порты и диапазон портов рабочих процессов должны быть открыты в файрволе сервера.
Пакетная загрузка через командную строку: /RestoreIB и ibcmd
Командная строка нужна, когда восстановление повторяется: тестовая копия рабочей базы каждую ночь, стенд для обучения, проверка бэкапа.
Конфигуратор в пакетном режиме
Для файловой базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\TestCopy" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\base.dt" /Out "D:\Backup\restore.log" /DisableStartupDialogs
Для серверной базы вместо /F укажите /S "имя_сервера\имя_базы". Если база заблокирована, добавьте /UC12345.
Номер версии в пути подставьте свой — у вас он, скорее всего, другой.
Что делают ключи:
| Ключ | Назначение |
|---|---|
DESIGNER | Запуск в режиме конфигуратора |
/F, /S | Путь к файловой базе или адрес серверной |
/N, /P | Пользователь и пароль в базе-получателе |
/RestoreIB | Загрузить информационную базу из файла |
/Out | Файл, куда пишется результат |
/DisableStartupDialogs | Не показывать стартовые диалоги |
/UC | Код разрешения для заблокированной базы |
После выполнения откройте лог из /Out. Пустой лог или сообщение об успехе — загрузка прошла. Текст ошибки — смотрите следующий раздел.
Обратная операция — выгрузка — делается ключом /DumpIB "путь.dt". Пару «выгрузить из рабочей → загрузить в тестовую» удобно держать в одном .bat и запускать планировщиком Windows ночью.
Пароль в .bat лежит открытым текстом. Заведите для этого отдельного пользователя базы с минимально нужными правами и закройте доступ к файлу скрипта.
Утилита ibcmd
В новых версиях 8.3 есть ibcmd — автономный сервер для работы с базой без кластера и без клиентской части. Восстановление из выгрузки выполняет команда ibcmd infobase restore, выгрузку — ibcmd infobase dump. Параметры подключения к базе (путь к файловой базе или тип СУБД, сервер, имя базы, пользователь) задаются ключами — их полный список выводит ibcmd help infobase.
ibcmd удобна на Linux-серверах и в скриптах CI, где ставить графический конфигуратор неудобно.
Ошибки при загрузке dt и как их снять
Самые частые ситуации и что делать:
Если загрузка падает каждый раз в одном и том же месте, а файл точно целый, попробуйте другой путь: загрузите .dt в пустую файловую базу на локальном диске. Получилось — проблема в серверном окружении (права, СУБД, место). Не получилось — в самой выгрузке. Тогда выгрузите базу заново из исходника.
Если исходника уже нет, а выгрузка битая, загрузка через конфигуратор её не «починит». Ищите более раннюю копию.
После загрузки: проверка базы и защита от двойных обменов
Загруженная база — точная копия исходной, со всеми настройками. В том числе с настройками, которые в копии опасны.
Что сделать сразу
- 🔁 Обмены и интеграции. Копия умеет обмениваться с теми же узлами, что и оригинал: с другой базой, с сайтом, с банком. Отключите или перенастройте обмены, иначе тестовая база отправит данные в рабочие системы.
- 🧭 Окно «база перемещена». Типовые конфигурации при первом входе замечают смену расположения и спрашивают, перемещена база или это копия. Для тестовой базы выбирайте вариант «копия» — тогда регламентные задания с внешними сервисами не запустятся.
- ⏱ Регламентные задания. В серверной базе проверьте флаг блокировки регламентных заданий. Для копии его часто оставляют включённым навсегда.
- 🔑 Лицензии. Лицензия платформы привязана к компьютеру или серверу, а не к базе. Если базу перенесли на другую машину, лицензия должна быть и на ней. Без неё платформа базу не запустит.
Проверка целостности и скорости
- Откройте базу в режиме 1С:Предприятие и пройдитесь по ключевым спискам: документы за последний месяц, остатки, отчёты.
- Если что-то выглядит странно, запустите
Администрирование → Тестирование и исправление...в конфигураторе. Для начала — только тестирование, без исправления. - В серверной базе на MS SQL после большой загрузки обновите статистику и перестройте индексы средствами СУБД — запросы станут быстрее.