Перенос информационной базы 1С 8.3 в кластер сервера из файла .dt
Содержание
Чтобы загрузить базу
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, сделанная на одной версии платформы, обычно загружается на версии с номером не ниже исходной. Загрузить выгрузку из более новой платформы в более старую часто не получается. Поэтому:
- 🔍 Посмотрите версию платформы, на которой работает исходная база:
Справка → О программе. - 🖥️ Установите на сервер ту же версию или более новую, совместимую с вашим релизом конфигурации.
- 💻 Поставьте эту же версию на компьютер, с которого будете работать в Конфигураторе.
СУБД
- 🐘 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 ГБ в СУБД вместе с журналом транзакций.
2. Создание новой информационной базы в кластере серверов
Пустую базу можно создать двумя способами: из консоли администрирования или прямо из окна запуска 1С. Результат одинаковый.
Через консоль администрирования серверов
- Откройте оснастку «Администрирование серверов 1С Предприятия».
- Разверните
Central 1C:Enterprise 8.3 servers → <имя сервера> → Кластеры → <кластер> → Информационные базы. - Нажмите правой кнопкой на «Информационные базы» и выберите
Создать → Информационная база. - Заполните поля:
- Имя — имя базы в кластере, латиницей и без пробелов, например
buh; - Сервер баз данных — имя или адрес сервера СУБД;
- Тип СУБД —
MSSQLServerилиPostgreSQL; - База данных — имя базы в СУБД (удобно делать таким же, как имя в кластере);
- Пользователь сервера БД и Пароль — логин СУБД;
- Смещение дат — для MS SQL ставьте
2000, для PostgreSQL оставьте0; - флажок Создать базу данных в случае ее отсутствия;
- флажок Установить блокировку регламентных заданий.
- Имя — имя базы в кластере, латиницей и без пробелов, например
- Нажмите «ОК».
Если консоль не открывается и пишет про отсутствие класса или оснастки, зарегистрируйте библиотеку radmin.dll нужной версии из командной строки администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Подставьте свой номер версии — он должен совпадать с версией сервера.
Через окно запуска 1С
- В окне запуска нажмите «Добавить».
- Выберите «Создание новой информационной базы», затем «Создание информационной базы без конфигурации».
- Тип расположения — «На сервере 1С:Предприятия».
- Заполните кластер серверов , имя базы в кластере и параметры СУБД так же, как в консоли.
Блокировку регламентных заданий ставьте всегда, если загружаете копию рабочей базы. Иначе сразу после загрузки копия начнёт обмены, загрузку банковских выписок и отправку писем от имени реальной организации.
3. Как загрузить базу 1С на сервер из файла выгрузки
Этот шаг переносит в серверную базу всё: конфигурацию, данные, список пользователей. Загрузка требует монопольного доступа — в базе не должно быть других сеансов.
Загрузка .dt через Конфигуратор
- В окне запуска выберите созданную серверную базу и нажмите «Конфигуратор».
- База пустая, поэтому пароль не спросят.
- Откройте
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи подтвердите предупреждение о замене данных. - Дождитесь окончания. База 1–2 ГБ в
.dtзагружается от 10 минут до часа, большие ERP — несколько часов. - После сообщения об успешной загрузке Конфигуратор предложит перезапуститься — согласитесь.
Загрузка .dt полностью затирает содержимое базы-приёмника. Если по ошибке выбрать рабочую серверную базу вместо новой, её данные пропадут. Проверьте строку подключения в окне Конфигуратора перед нажатием.
Если есть только файловая база 1Cv8.1CD
Файл 1Cv8.1CD нельзя «подложить» на сервер напрямую. Порядок такой:
- Подключите файловую базу в окне запуска (кнопка «Добавить» → «Добавление в список существующей информационной базы»).
- Откройте её в Конфигураторе.
- Выполните
Администрирование → Выгрузить информационную базуи сохраните.dt. - Загрузите этот файл в серверную базу, как описано выше.
Загрузка из командной строки
Для больших баз удобно запускать загрузку без интерфейса, например на самом сервере ночью. Пустую базу можно создать командой 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. Первый запуск базы на сервере и проверка скорости
Что проверить сразу
- 👤 Вход под реальным пользователем, а не только под администратором.
- 📄 Открытие нескольких тяжёлых отчётов, например оборотно-сальдовой ведомости за год.
- 🧾 Проведение и перепроведение нескольких документов.
- 🖨️ Печатные формы и внешние обработки — пути к ним могли поменяться.
- 🔄 Обмены и интеграции — только после снятия блокировки регламентных заданий и только для рабочей базы.
Как оценить производительность
Простой способ — замерить одну и ту же операцию до и после переноса. Например, формирование ОСВ за год или закрытие месяца . Если на сервере та же операция идёт дольше, чем в файловой базе, ищите узкое место.
Для сравнения разных серверов администраторы используют тест Гилёва (TPC-1C). Он даёт условную оценку в баллах и показывает, тормозит ли однопоточная работа.
Частые причины медленной работы после переноса:
- ⚡ Схема электропитания Windows Server стоит в режиме «Сбалансированная» вместо «Высокая производительность».
- 🐘 PostgreSQL работает с настройками по умолчанию. Параметр
shared_buffersобычно поднимают примерно до четверти оперативной памяти сервера СУБД. - 🌐 Сервер 1С и СУБД разнесены по разным машинам с медленной сетью между ними.
- 📊 Не обновлена статистика СУБД после загрузки.
7. Ошибки при переносе базы на сервер
Не завершайте рабочие процессы и не перезапускайте службу агента сервера в рабочее время. Оборвутся сеансы всех пользователей всех баз кластера. Делайте это вечером или после предупреждения.
Ещё две ошибки встречаются при подготовке:
- 📦 Выгрузку
.dtделали, пока в файловой базе работали пользователи. Перед выгрузкой выгоните всех из базы, иначе платформа может отказать в монопольном доступе. - 🔐 Пароль администратора в загруженной базе остался прежним, а его никто не помнит. Выясните его до переноса: после загрузки
.dtв базе тот же список пользователей с теми же паролями.