Новая информационная база из выгрузки .dt: файловый и серверный вариант
Содержание
Чтобы создать базу 1С из dt-файла, добавьте в окне запуска новую пустую информационную базу без конфигурации, откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу, указав файл .dt. Через несколько минут у вас будет полная копия: конфигурация, данные, пользователи и их права.
Файл выгрузки — это вся база в одном архиве. Он не зависит от того, где жила исходная база: выгрузку файловой базы можно развернуть на сервере с MS SQL или PostgreSQL, и наоборот. Ниже — оба варианта, запуск без диалогов из командной строки и то, что ломается чаще всего.
Подготовка: платформа, место на диске и выбор типа базы
Перед загрузкой проверьте три вещи. Каждая из них по отдельности способна оборвать загрузку на середине.
- 🧩 Версия платформы. Номер платформы на вашем компьютере должен быть не ниже номера той, на которой работала исходная база. Если конфигурация рассчитана на более свежую платформу, Конфигуратор откажется её открывать.
- 💾 Свободное место. Распакованная база занимает в несколько раз больше, чем сам .dt: выгрузка сжата. Оставьте запас не меньше пятикратного размера файла плюс место во временной папке Windows.
- 🔑 Лицензия. Без лицензии платформа не запустит базу ни в Конфигураторе, ни в пользовательском режиме. Исключение — учебная версия.
- 📄 Целостность .dt. Сравните размер файла с исходным, если копировали его по сети или с флешки. Обрезанный файл даёт ошибку только в конце загрузки.
Тип базы выбирайте до начала работ — переделывать потом придётся через новую выгрузку.
| Вариант | Когда подходит | Что нужно |
|---|---|---|
| Файловая | 1–5 пользователей, тестовая копия, разбор проблемы у себя на ноутбуке | Только платформа и папка на диске |
| Клиент-серверная (MS SQL) | Рабочая база на 5+ пользователей, тяжёлые отчёты | Сервер 1С, MS SQL, учётная запись СУБД |
| Клиент-серверная (PostgreSQL) | То же, когда нужна свободная СУБД | Сервер 1С и сборка PostgreSQL с патчами для 1С |
Для разбора чужой проблемы или проверки обновления почти всегда хватает файловой базы. Сервер нужен, когда копией будут реально пользоваться несколько человек.
Создание файловой базы из dt-файла
Шаг 1. Пустая база в окне запуска
- Запустите 1С:Предприятие и нажмите Добавить.
- Выберите Создание новой информационной базы → Далее.
- Отметьте вариант Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы.
- Введите понятное имя, например
Бухгалтерия — копия от клиента, тип расположения — На данном компьютере или на компьютере в локальной сети. - Укажите пустую папку, например
D:\Bases\Buh_copy. Не выбирайте папку, где уже лежит файл1Cv8.1CD. - Параметры запуска оставьте по умолчанию → Готово.
Не берите вариант «из шаблона». Демо-база из шаблона будет полностью перезаписана, а время на её создание уйдёт впустую.
Шаг 2. Загрузка выгрузки в Конфигураторе
- Выделите новую базу в списке и нажмите Конфигуратор. Пустая база откроется без запроса пароля.
- Откройте меню
Администрирование → Загрузить информационную базу.... - Укажите файл .dt и нажмите Открыть.
- Подтвердите предупреждение о том, что текущие данные будут потеряны.
- Дождитесь сообщения об успешной загрузке. Конфигуратор предложит перезапуститься — соглашайтесь.
После перезапуска Конфигуратор уже спросит логин и пароль: пользователи пришли вместе с выгрузкой.
Загрузка .dt полностью заменяет базу, в которую идёт загрузка. Никогда не загружайте выгрузку в рабочую базу «по ошибке» — данные в ней исчезнут без возможности отменить.
Загрузка dt из командной строки без диалогов
Когда копии нужно разворачивать регулярно — для тестов, для обновлений, для отдела, — удобнее сделать это одним bat-файлом. Конфигуратор умеет создать пустую базу и загрузить в неё выгрузку в пакетном режиме.
@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=D:\Bases\Buh_copy
set DT=D:\Backup\buh.dt
rem 1. Создать пустую файловую базу
%V8% CREATEINFOBASE File="%BASE%" /Out "D:\Backup\create.log"
rem 2. Загрузить выгрузку
%V8% DESIGNER /F "%BASE%" /RestoreIB "%DT%" /Out "D:\Backup\restore.log" /DisableStartupDialogs
Замените 8.3.xx.xxxx на номер установленной платформы. Для серверной базы вместо /F "путь" используется /S "сервер\имя_базы", а если в базе уже есть пользователи — добавьте /N "Имя" и /P "пароль".
Ключ /Out пишет результат в текстовый лог. Без него пакетный режим молчит, и об ошибке вы узнаете только по пустой базе.
Созданная так база не появится в списке окна запуска сама. Добавьте её через Добавить → Добавление в список существующей информационной базы.
Разворачивание базы из .dt на сервере 1С
Клиент-серверная база создаётся в два этапа: сначала регистрируете базу в кластере вместе с базой данных в СУБД, потом загружаете в неё .dt.
Регистрация базы в кластере
Проще всего — через Консоль администрирования серверов 1С:Предприятия:
- Раскройте дерево: центральный сервер → Кластеры → нужный кластер.
- Правой кнопкой по ветке Информационные базы → Создать → Информационная база.
- Заполните поля:
- Имя — имя базы в кластере, латиницей без пробелов, например
buh_test; - Сервер баз данных — имя сервера СУБД (для MS SQL с именованным экземпляром —
SQLSRV\INST); - Тип СУБД —
MSSQLServerилиPostgreSQL; - База данных — имя базы в СУБД, удобно совпадающее с именем в кластере;
- Пользователь сервера БД и Пароль — учётная запись СУБД;
- Смещение дат — для MS SQL ставьте
2000.
- Имя — имя базы в кластере, латиницей без пробелов, например
- Отметьте Создать базу данных в случае ее отсутствия.
- Для копии рабочей базы отметьте Установить блокировку регламентных заданий.
- Нажмите ОК.
Тот же результат даёт окно запуска: Добавить → Создание новой информационной базы → без конфигурации → На сервере 1С:Предприятия. Мастер запросит те же параметры.
Особенности MS SQL и PostgreSQL
| СУБД | Что проверить до загрузки |
|---|---|
| MS SQL Server | У учётной записи, указанной в базе, есть право создавать базы (роль dbcreator), либо пустая база создана заранее и пользователь в ней db_owner |
| PostgreSQL | Установлена сборка с патчами для 1С (от фирмы 1С или Postgres Pro). Обычный PostgreSQL из репозитория не подходит: не будет нужных типов данных |
Загрузка .dt в серверную базу
Дальше всё как в файловом варианте: добавьте базу в список окна запуска, откройте Конфигуратор и выполните Администрирование → Загрузить информационную базу.... Загрузку выполняет сервер 1С, поэтому скорость зависит от дисков сервера СУБД, а не от вашего компьютера.
Если в кластере уже есть база с таким же именем в СУБД, мастер подключится к ней, а загрузка перезапишет её содержимое. Перед нажатием ОК проверьте поле База данных дважды.
Первый запуск копии: регламентные задания и внешние ресурсы
Копия рабочей базы помнит всё, что делал оригинал: обмен с банком, отправку отчётности, синхронизацию с сайтом, загрузку курсов валют. Если её не остановить, копия начнёт работать «за оригинал».
В типовых конфигурациях на библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11) при первом запуске в пользовательском режиме программа сама замечает, что база сменила расположение. Она показывает предупреждение и предлагает выбор:
- «Информационная база перемещена» — если это та же рабочая база на новом месте. Обмены и задания продолжат работу.
- «Это копия информационной базы» — для тестовых и учебных копий. Работа с внешними ресурсами будет заблокирована.
Для серверной базы дополнительно проверьте флажок Блокировка регламентных заданий включена в свойствах базы в консоли кластера. В файловой базе регламентные задания выполняются, только пока база открыта в пользовательском режиме.
Ошибки при загрузке dt и что с ними делать
Большинство сбоев видно по тексту сообщения. Выберите свой симптом:
Если загрузка .dt раз за разом падает на одном и том же месте, а исходная база жива — сделайте её копию файлом (1Cv8.1CD) или резервной копией СУБД. Для переноса это не хуже выгрузки.
Как ускорить загрузку и работу новой базы
Скорость загрузки в основном зависит от диска и антивируса.
- ⚡ Держите базу и сам .dt на локальном SSD. Загрузка с сетевой папки и в сетевую папку идёт в разы медленнее.
- 🛡️ Добавьте папку базы и папку с выгрузками в исключения антивируса. Сканирование каждого записанного блока тормозит загрузку сильнее всего.
- 🖥️ Не запускайте загрузку параллельно с резервным копированием или обновлением на том же сервере.
После загрузки в серверную базу полезно обновить статистику СУБД. Индексы после загрузки свежие, а вот планировщик запросов о новых данных ещё не знает.
-- MS SQL Server, в контексте новой базы
EXEC sp_updatestats;
-- Для тестовой копии: журнал транзакций не будет разрастаться
ALTER DATABASE [buh_test] SET RECOVERY SIMPLE;
-- PostgreSQL, в новой базе
VACUUM ANALYZE;
Для рабочей базы модель восстановления выбирайте под свою схему резервного копирования. Модель SIMPLE не позволяет восстановиться на момент времени между полными копиями.
Файловую базу после загрузки отдельно оптимизировать не нужно. Если она больше нескольких гигабайт и к ней подключается больше пяти человек — это сигнал переходить на клиент-серверный вариант.
Пользователи, пароли и права доступа после загрузки
Выгрузка .dt переносит список пользователей вместе с паролями, ролями и настройками. В новой базе вход будет ровно таким, как в исходной.
Что из этого следует:
- 🔐 Узнайте логин и пароль администратора заранее. Без них в загруженную базу не войти, а сбросить пароль средствами самой платформы нельзя. Просите у владельца базы до того, как он отправит файл.
- 👥 Для тестовой копии заведите своего пользователя. В Конфигураторе:
Администрирование → Пользователи→ добавьте пользователя с ролью полных прав. В типовых конфигурациях на БСП удобнее делать это в пользовательском режиме, через разделАдминистрирование → Настройки пользователей и прав, чтобы пользователь появился и в справочнике конфигурации. - 📁 Права на папку файловой базы. Всем, кто будет работать с базой по сети, нужны права на чтение и изменение файлов в её папке. Без права записи база откроется с ошибкой блокировки.
- 🗄️ Учётная запись СУБД. Не используйте для 1С суперпользователя
saилиpostgres. Заведите отдельную учётную запись с правами только на свою базу.
Файл .dt — это вся база, включая персональные данные сотрудников и контрагентов. Не храните его в общих папках и мессенджерах, удаляйте после развёртывания. Передача такой выгрузки третьим лицам подпадает под требования закона о персональных данных.
Частые вопросы
Можно ли загрузить выгрузку файловой базы на сервер с MS SQL?
Сколько времени занимает загрузка .dt?
Чем выгрузка .dt отличается от файла конфигурации .cf?
Можно ли загрузить .dt в базу, где уже есть данные?
Что делать, если выгрузка была сделана в старой версии платформы?
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»