Перенос информационной базы 1С 8.3 в кластер сервера из файла .dt

· 10 мин

Содержание

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

Порядок одинаков для любой конфигурации: Бухгалтерии, ЗУП, УТ, ERP. Отличия только в СУБД (MS SQL Server или PostgreSQL) и в объёме базы. Перед загрузкой важно правильно подготовить сервер, иначе процесс упадёт на полпути или база будет тормозить.

1. Подготовка сервера 1С и СУБД перед загрузкой базы

Клиент-серверная 1С состоит из трёх частей: сервер 1С:Предприятия (кластер), сервер СУБД и клиентские компьютеры. Проверьте каждую до того, как начнёте.

Версия платформы

Версия клиента и сервера 1С должна совпадать до последней цифры. Если на сервере стоит 8.3.24.1548, на рабочих местах нужна ровно 8.3.24.1548.

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

  1. 🔍 Посмотрите версию платформы, на которой работает исходная база: Справка → О программе.
  2. 🖥️ Установите на сервер ту же версию или более новую, совместимую с вашим релизом конфигурации.
  3. 💻 Поставьте эту же версию на компьютер, с которого будете работать в Конфигураторе.

СУБД

  • 🐘 PostgreSQL — нужна сборка, адаптированная под 1С (её распространяют фирма 1С и Postgres Professional). Обычный PostgreSQL из репозитория не подойдёт: в нём нет типов mchar и mvarchar, которые использует платформа.
  • 🪟 MS SQL Server — подойдёт редакция, поддерживаемая вашей версией платформы. Нужен логин SQL с правом создавать базы (роль dbcreator) либо заранее созданная пустая база с правами владельца.

Кодировку и сортировку платформа задаёт сама при создании базы. Создавать таблицы вручную не нужно.

Сеть и службы

Клиент обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и рабочим процессам (по умолчанию диапазон 1560–1591). Эти порты должны быть открыты в брандмауэре сервера.

Служба «Агент сервера 1С:Предприятия 8.3» должна быть запущена. Учётной записи, от которой она работает (по умолчанию USR1CV8), нужны права на каталог srvinfo.

Место на диске

Загрузка .dt разворачивает данные во временные файлы и пишет в СУБД. Свободного места на сервере СУБД нужно заметно больше, чем весит архив: выгрузка в .dt сжата, и база в 2 ГБ .dt легко занимает 10–15 ГБ в СУБД вместе с журналом транзакций.

Сервер готов к загрузке базы
Выполнено: 0 / 6

2. Создание новой информационной базы в кластере серверов

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

Через консоль администрирования серверов

  1. Откройте оснастку «Администрирование серверов 1С Предприятия».
  2. Разверните Central 1C:Enterprise 8.3 servers → <имя сервера> → Кластеры → <кластер> → Информационные базы.
  3. Нажмите правой кнопкой на «Информационные базы» и выберите Создать → Информационная база.
  4. Заполните поля:
    • Имя — имя базы в кластере, латиницей и без пробелов, например buh;
    • Сервер баз данных — имя или адрес сервера СУБД;
    • Тип СУБД — MSSQLServer или PostgreSQL;
    • База данных — имя базы в СУБД (удобно делать таким же, как имя в кластере);
    • Пользователь сервера БД и Пароль — логин СУБД;
    • Смещение дат — для MS SQL ставьте 2000, для PostgreSQL оставьте 0;
    • флажок Создать базу данных в случае ее отсутствия;
    • флажок Установить блокировку регламентных заданий.
  5. Нажмите «ОК».

Если консоль не открывается и пишет про отсутствие класса или оснастки, зарегистрируйте библиотеку radmin.dll нужной версии из командной строки администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"

Подставьте свой номер версии — он должен совпадать с версией сервера.

Через окно запуска 1С

  1. В окне запуска нажмите «Добавить».
  2. Выберите «Создание новой информационной базы», затем «Создание информационной базы без конфигурации».
  3. Тип расположения — «На сервере 1С:Предприятия».
  4. Заполните кластер серверов , имя базы в кластере и параметры СУБД так же, как в консоли.

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

3. Как загрузить базу 1С на сервер из файла выгрузки

Этот шаг переносит в серверную базу всё: конфигурацию, данные, список пользователей. Загрузка требует монопольного доступа — в базе не должно быть других сеансов.

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

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

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

Если есть только файловая база 1Cv8.1CD

Файл 1Cv8.1CD нельзя «подложить» на сервер напрямую. Порядок такой:

  1. Подключите файловую базу в окне запуска (кнопка «Добавить» → «Добавление в список существующей информационной базы»).
  2. Откройте её в Конфигураторе.
  3. Выполните Администрирование → Выгрузить информационную базу и сохраните .dt.
  4. Загрузите этот файл в серверную базу, как описано выше.

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

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE Srvr="srv1c";Ref="buh";DBMS="PostgreSQL";DBSrvr="srvdb";DB="buh";DBUID="postgres";DBPwd="пароль";CrSQLDB="Y";SchJobDn="Y"

Затем загрузить в неё выгрузку:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /RestoreIB "D:\backup\buh.dt" /Out "D:\backup\restore.log" /DisableStartupDialogs

Результат пишется в файл из параметра /Out. Если в базе уже есть пользователи, добавьте /N "Имя" и /P "пароль".

Начиная с 8.3.14 есть ещё автономный сервер ibcmd: он умеет загружать .dt прямо в базу СУБД без кластера. Параметры смотрите в справке ibcmd help infobase.

СпособКогда удобенНа что смотреть
КонфигураторРазовый перенос, база до 10–20 ГБНельзя закрывать окно до конца загрузки
1cv8 DESIGNER /RestoreIBНочная загрузка, скриптыЧитайте лог /Out, ошибки в окно не выводятся
ibcmdСервер без кластера, автоматизацияНужна платформа 8.3.14 и выше

4. Подключение серверной базы на рабочих местах

Пользователям базу добавляют в окно запуска: «Добавить» → «Добавление в список существующей информационной базы» → «На сервере 1С:Предприятия».

  • Кластер серверов — имя сервера 1С, например srv1c. Если кластер работает не на стандартном порту, укажите порт менеджера: srv1c:2541.
  • Имя информационной базы в кластере — то самое имя из шага 2, например buh.

Для десятков рабочих мест удобнее разослать готовый файл списка баз .v8i или прописать общий список в 1CEStart.cfg. Тогда список баз не придётся настраивать на каждом компьютере вручную.

5. Журнал регистрации, регламентные задания и статистика после загрузки

Журнал регистрации

Файл .dt не содержит журнал регистрации. На сервере история начнётся с нуля, старый журнал остаётся в каталоге файловой базы — сохраните его отдельно, если он нужен для разбирательств.

Уровень записи задают в Конфигураторе: Администрирование → Настройка журнала регистрации. Для рабочей базы обычно хватает уровня «Регистрировать ошибки, предупреждения и информацию». Там же включают разделение журнала по периодам — по дням или месяцам. Так старые части проще архивировать и удалять.

На сервере журнал хранится в каталоге кластера: srvinfo\reg_1541\<идентификатор базы>\1Cv8Log. Следите за его размером: при уровне «все события» он растёт на гигабайты.

Регламентные задания

Если вы переносите рабочую базу, а не копию, после проверки снимите блокировку. Это делается в свойствах базы в консоли администрирования: снимите флажок «Блокировка регламентных заданий включена».

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

Статистика СУБД

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

Для MS SQL в контексте базы:

EXEC sp_updatestats;

Для PostgreSQL, подключившись к базе:

VACUUM ANALYZE;

Дальше настройте регулярное обслуживание: план обслуживания в MS SQL или vacuum по расписанию в PostgreSQL.

6. Первый запуск базы на сервере и проверка скорости

Что проверить сразу

  1. 👤 Вход под реальным пользователем, а не только под администратором.
  2. 📄 Открытие нескольких тяжёлых отчётов, например оборотно-сальдовой ведомости за год.
  3. 🧾 Проведение и перепроведение нескольких документов.
  4. 🖨️ Печатные формы и внешние обработки — пути к ним могли поменяться.
  5. 🔄 Обмены и интеграции — только после снятия блокировки регламентных заданий и только для рабочей базы.

Как оценить производительность

Простой способ — замерить одну и ту же операцию до и после переноса. Например, формирование ОСВ за год или закрытие месяца . Если на сервере та же операция идёт дольше, чем в файловой базе, ищите узкое место.

Для сравнения разных серверов администраторы используют тест Гилёва (TPC-1C). Он даёт условную оценку в баллах и показывает, тормозит ли однопоточная работа.

Частые причины медленной работы после переноса:

  • ⚡ Схема электропитания Windows Server стоит в режиме «Сбалансированная» вместо «Высокая производительность».
  • 🐘 PostgreSQL работает с настройками по умолчанию. Параметр shared_buffers обычно поднимают примерно до четверти оперативной памяти сервера СУБД.
  • 🌐 Сервер 1С и СУБД разнесены по разным машинам с медленной сетью между ними.
  • 📊 Не обновлена статистика СУБД после загрузки.

7. Ошибки при переносе базы на сервер

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

Не завершайте рабочие процессы и не перезапускайте службу агента сервера в рабочее время. Оборвутся сеансы всех пользователей всех баз кластера. Делайте это вечером или после предупреждения.

Ещё две ошибки встречаются при подготовке:

  • 📦 Выгрузку .dt делали, пока в файловой базе работали пользователи. Перед выгрузкой выгоните всех из базы, иначе платформа может отказать в монопольном доступе.
  • 🔐 Пароль администратора в загруженной базе остался прежним, а его никто не помнит. Выясните его до переноса: после загрузки .dt в базе тот же список пользователей с теми же паролями.

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

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