Переезд файловой базы 1С в клиент-серверный режим: от выгрузки .dt до первого входа пользователей

· 10 мин

Содержание

Чтобы перенести базу 1С на сервер, выгрузите файловую базу в файл .dt через Конфигуратор (Администрирование → Выгрузить информационную базу), создайте пустую базу в кластере сервера 1С с СУБД MS SQL или PostgreSQL и загрузите в неё этот файл (Администрирование → Загрузить информационную базу). Всё: данные, конфигурация, пользователи и их пароли переезжают одним файлом.

Частое заблуждение — что достаточно скопировать файл 1Cv8.1CD на сервер и положить рядом с SQL. Так получится всего лишь файловая база на другом компьютере, а не клиент-серверная. Сервер 1С с SQL-базой хранит данные в таблицах СУБД, и попасть туда они могут только через загрузку .dt или через создание базы штатными средствами платформы.

Инструкция написана для платформы 8.3 (релизы 8.3.2x) и Windows Server 2016 и новее. Порядок одинаков для любой типовой конфигурации: БП 3.0, ЗУП 3.1, УТ 11, ERP — переносится вся база целиком.

Подготовка: сервер 1С, СУБД, лицензии и порты

Перед переносом на сервере должны работать три компонента. Без любого из них база не создастся.

КомпонентЧто нужноКак проверить
Сервер 1С:ПредприятияУстановлен как служба, та же версия платформы, что у клиентовСлужба «Агент сервера 1С:Предприятия 8.3» в состоянии «Выполняется»
СУБДMS SQL Server или PostgreSQL в сборке для 1СПодключение к СУБД из её консоли под учётной записью для 1С
Лицензия сервераПрограммная или аппаратная лицензия на сервер 1СБез неё сервер не выдаст сеансы

🔹 Версия платформы. Номер версии на сервере и на всех клиентских компьютерах должен совпадать до последней цифры, например 8.3.25.1374 и там, и там. При расхождении клиент не подключится к кластеру.

🔹 СУБД. Для MS SQL заведите отдельный SQL-логин для 1С с ролью dbcreator (или sysadmin, если базы будут создаваться и удаляться часто). Для PostgreSQL ставьте сборку, адаптированную под 1С: её распространяет фирма 1С вместе с платформой и Postgres Professional. Обычный PostgreSQL из репозитория дистрибутива без этих доработок 1С не поддерживает.

🔹 Лицензии. Серверу нужна своя серверная лицензия. Клиентские лицензии остаются те же: их можно оставить на рабочих местах или перенести на сервер, тогда сервер будет раздавать их всем подключающимся.

🔹 Порты. Клиент сначала обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов по умолчанию 1560–1591, он задаётся в свойствах рабочего сервера. Откройте эти порты во входящих правилах брандмауэра Windows на сервере 1С. Если СУБД стоит на отдельной машине, на ней откройте 1433 для MS SQL или 5432 для PostgreSQL.

Если оснастка «Администрирование серверов 1С Предприятия» не открывается или пишет об ошибке компонента, перерегистрируйте библиотеку консоли из командной строки от имени администратора: regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll". Номер версии в пути подставьте свой.

Шаг 1. Выгрузка файловой базы в файл .dt

Выгрузку делают из Конфигуратора исходной файловой базы.

  1. Попросите всех пользователей выйти из базы. Если люди продолжат работать, документы, внесённые после выгрузки, на сервер не попадут.
  2. Запустите базу в режиме Конфигуратор под администратором.
  3. Если база давно не проверялась, сначала выполните Администрирование → Тестирование и исправление с галкой на проверке логической целостности. Ошибки, которые прошли в файловом режиме, при загрузке в SQL нередко ломают процесс на середине.
  4. Откройте Администрирование → Выгрузить информационную базу.
  5. Укажите путь и имя файла, например D:\Перенос\buh_2026_10.dt, и нажмите «Сохранить».
  6. Дождитесь сообщения о завершении выгрузки.

Файл .dt сжат, обычно он в несколько раз меньше файла 1Cv8.1CD. База на 20 ГБ часто даёт .dt размером 3–5 ГБ.

Для больших баз удобнее пакетный режим, без открытия окон:

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "D:\Перенос\buh.dt" /Out "D:\Перенос\dump.log"

После выгрузки проверьте лог: там должна быть строка об успешном завершении.

Не удаляйте и не переименовывайте исходную файловую базу до тех пор, пока не убедитесь, что серверная работает. Это ваш путь отката.

Шаг 2. Создание пустой базы в кластере сервера 1С

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

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

  1. Откройте оснастку «Администрирование серверов 1С Предприятия».
  2. Раскройте Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы.
  3. Правой кнопкой по узлу «Информационные базы» — Создать → Информационная база.
  4. Заполните поля формы:
ПолеЧто вписать
ИмяИмя базы в кластере, латиницей без пробелов: buh
Сервер баз данныхИмя или адрес сервера СУБД; для именованного экземпляра MS SQL — SQLSRV\INST1
Тип СУБДMSSQLServer или PostgreSQL
База данныхИмя базы в СУБД, обычно то же: buh
Пользователь и пароль сервера БДSQL-логин из подготовительного этапа
Смещение датДля MS SQL — 2000, для PostgreSQL — 0
Разрешить выдачу лицензий сервером 1С:Предприятия«Да», если клиентские лицензии лежат на сервере
Создать базу данных в случае её отсутствияВключить
Установить блокировку регламентных заданийВключить на время переноса
  1. Нажмите «ОК». В списке появится база, а в СУБД — пустая база данных.

Через окно запуска 1С на рабочем месте

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

Смещение дат задаётся только при создании базы, поменять его потом нельзя. Для MS SQL ставьте 2000, иначе часть дат в отчётах и запросах будет вести себя некорректно.

Шаг 3. Загрузка .dt и проверка перенесённой базы

  1. Откройте созданную серверную базу в режиме Конфигуратор. Она пустая, поэтому пароль не спросит.
  2. Выберите Администрирование → Загрузить информационную базу, укажите файл .dt.
  3. Подтвердите предупреждение: данные пустой базы будут заменены.
  4. Дождитесь окончания. Загрузка идёт дольше выгрузки: база на 20 ГБ на средней конфигурации сервера загружается от 30 минут до пары часов.
  5. После загрузки Конфигуратор предложит перезапуститься. Согласитесь — теперь вход по пользователям и паролям из файловой базы.

Пакетный вариант загрузки:

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /RestoreIB "D:\Перенос\buh.dt" /Out "D:\Перенос\restore.log"

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

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

  • 📊 Сформируйте оборотно-сальдовую ведомость за последний закрытый период в обеих базах и сравните итоги.
  • 📄 Откройте и перепроведите один свежий документ — проверьте, что движения формируются.
  • 🖨 Выведите на печать пару форм, особенно внешние печатные формы и обработки: они хранятся в базе и переезжают вместе с ней.
  • 🔁 Проверьте узлы обмена: если база обменивается с другими базами, пути к каталогам обмена и учётные данные могут понадобиться другие, ведь теперь обмен выполняется от имени службы сервера 1С.

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

Пользователи и права доступа после переноса на сервер

Список пользователей 1С, их роли и пароли хранятся внутри базы и переезжают в .dt целиком. Заводить людей заново не нужно.

Что перенастраивается отдельно:

  • 👤 Аутентификация операционной системы. Если пользователи входили под доменной учётной записью, проверьте, что в карточке пользователя указано имя в формате \\DOMAIN\user. На сервере вход через ОС работает только при корректной доменной учётке.
  • 🔐 Учётная запись службы сервера 1С. Служба работает от пользователя, указанного при установке, по умолчанию USR1CV8. Ему нужен полный доступ к каталогу кластера (по умолчанию srvinfo в каталоге установки сервера) и права на сетевые папки, куда база пишет файлы обмена или выгрузки.
  • 🛡 Администратор кластера. Пока у кластера нет администраторов, любой, кто откроет консоль, сможет удалить базу. Заведите администратора кластера в узле «Администраторы» кластера.

Подключение пользователей к серверной базе

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

  • кластер серверов — имя сервера 1С, например srv1c (если порт менеджера кластера нестандартный — srv1c:2541);
  • имя информационной базы в кластере — buh.

Строка подключения в итоге выглядит так: Srvr="srv1c";Ref="buh";. Её можно разослать в файле .v8i — пользователи откроют его, и база появится в списке.

Старую файловую базу уберите из списка у пользователей. Если оставить обе, кто-нибудь неизбежно продолжит вводить документы в файловую.

Ускорение работы после переезда на сервер

Сразу после загрузки серверная база может работать медленнее файловой. Это нормально: СУБД ещё не собрала статистику и не прогрела кэш. Несколько настроек решают проблему.

MS SQL Server

  1. Ограничьте память. В свойствах сервера SQL задайте Maximum server memory. Если 1С и SQL на одной машине с 32 ГБ, оставьте SQL примерно 20–22 ГБ, остальное — операционной системе и рабочим процессам 1С.
  2. Модель восстановления. Если вы не делаете резервные копии журнала транзакций, переключите базу в Simple. При Full без бэкапов журнала файл .ldf растёт до тех пор, пока не займёт весь диск.
  3. План обслуживания. Настройте ежедневное обновление статистики, а после него — очистку процедурного кэша DBCC FREEPROCCACHE. Раз в неделю добавьте перестроение индексов. Запускайте ночью: на время перестроения запросы замедляются.

PostgreSQL

  1. Сразу после загрузки .dt выполните сбор статистики:
VACUUM ANALYZE;
  1. Настройте основные параметры в postgresql.conf: shared_buffers — примерно четверть оперативной памяти, effective_cache_size — около половины–трёх четвертей. После правок перезапустите службу PostgreSQL в нерабочее время: все сеансы 1С при этом оборвутся.
  2. Включите регулярный autovacuum (обычно он включён по умолчанию) и проверьте, что он не отключён в конфигурации.

На стороне 1С

  • 💾 Храните базу СУБД на SSD — это даёт больше, чем любые настройки.
  • 🧹 Если после переноса у пользователей странно ведут себя формы, очистите локальный кэш клиента: запустите 1С с ключом /ClearCache или удалите каталог кэша при закрытой программе.

Ошибки при переносе базы 1С на сервер и что с ними делать

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

Ещё одна неочевидная ошибка — нехватка места. Во время загрузки .dt СУБД пишет журнал транзакций, и на диске нужно свободного места примерно в 2–3 раза больше объёма базы. На MS SQL дополнительно растёт tempdb.

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

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

Можно ли перенести на сервер базу, не останавливая работу пользователей?
Нет. Всё, что введут после выгрузки .dt, в серверную базу не попадёт. Планируйте перенос на вечер или выходной.
Нужно ли покупать новые клиентские лицензии при переходе на сервер?
Нет, клиентские лицензии остаются прежними. Дополнительно нужна только лицензия на сервер 1С.
Как вернуть базу из сервера обратно в файловый вариант?
Тем же путём: выгрузите .dt из серверной базы в Конфигураторе, создайте новую файловую базу и загрузите в неё файл.
Что выбрать для 1С: MS SQL или PostgreSQL?
Обе СУБД официально поддерживаются. PostgreSQL в сборке для 1С не требует покупки лицензий СУБД; MS SQL привычнее многим администраторам Windows. Для баз до нескольких десятков пользователей разница в скорости на практике невелика.
Можно ли держать сервер 1С и СУБД на одном компьютере?
Да, для небольших компаний это обычная схема. Главное — ограничить память СУБД, чтобы рабочим процессам 1С её хватало.