Развёртывание сервера 1С:Предприятия 8.3 с SQL: от железа до первой базы

· 10 мин

Содержание

Чтобы установить 1С в клиент-серверном варианте, нужны три слоя: СУБД (MS SQL Server или PostgreSQL), сервер 1С:Предприятия из полного дистрибутива платформы и клиенты на рабочих местах. Порядок такой: ставите СУБД, затем сервер 1С как службу Windows, открываете порты 1540, 1541 и 1560–1591, создаёте базу через окно запуска с флажком «Создать базу данных в случае её отсутствия» и активируете серверную лицензию.

Файловый вариант проще и бесплатнее, но упирается в 10–15 активных пользователей и в сетевую папку. Клиент-серверный режим нужен, когда людей больше, базы тяжёлые (ERP, УТ, большая БП), требуется отказоустойчивость или нормальное резервное копирование средствами СУБД. Порядок описан для Windows Server 2016 и новее и платформы 8.3.2x.

Подготовка сервера под клиент-серверную установку 1С

Начните с решения, где будут жить сервер 1С и СУБД. Для компании до 50–70 пользователей обычно хватает одной машины, на которой стоят обе роли. Для крупных внедрений их разносят по разным серверам, чтобы СУБД не делила память с рабочими процессами 1С.

Ориентиры по железу

ПользователейПроцессорОЗУДиски
до 204 ядра с высокой частотой16 ГБSSD/NVMe под базы и журналы
20–508 ядер32 ГБNVMe, отдельный том под tempdb/журналы
50–10012–16 ядер64 ГБNVMe, RAID 1 или 10

Это ориентиры, а не норматив. 1С чувствительна к частоте одного ядра: процессор с 8 ядрами по 4 ГГц в учётной системе часто выигрывает у 16 ядер по 2,2 ГГц. Диски — только SSD, на HDD сервер СУБД станет узким местом с первого дня.

Выбор ОС и СУБД

  • 🪟 Windows Server + MS SQL Server — самый распространённый вариант, много специалистов, понятное администрирование. Требует лицензий Microsoft.
  • 🐧 Linux + PostgreSQL — без затрат на лицензии ОС и СУБД. Нужна сборка PostgreSQL, адаптированная под 1С (её выпускает фирма 1С, есть и Postgres Pro).
  • 🪟 Windows + PostgreSQL — компромисс, когда админы знают Windows, а платить за SQL Server не хочется.

IBM Db2 и Oracle тоже поддерживаются, но в малом и среднем бизнесе почти не встречаются.

Что сделать с ОС до установки

  1. Задайте серверу постоянное имя и статический IP. Сменить имя после регистрации кластера можно, но это лишняя работа.
  2. Убедитесь, что имя сервера разрешается со всех клиентов: ping имя_сервера должен отвечать. Если DNS нет, пропишите имя в C:\Windows\System32\drivers\etc\hosts на каждой машине.
  3. Включите схему электропитания «Высокая производительность».
  4. Создайте доменную или локальную учётную запись для службы 1С, если не хотите использовать стандартную USR1CV8, которую создаёт установщик.

Установка и настройка СУБД для сервера 1С

MS SQL Server

  1. Запустите установку экземпляра SQL Server (подойдёт и Express для тестов: у него лимит 10 ГБ на базу).
  2. В параметрах сортировки задайте Cyrillic_General_CI_AS. Если оставить другую сортировку, возможны проблемы с упорядочиванием строк.
  3. Режим проверки подлинности — смешанный (SQL Server и Windows). 1С подключается к СУБД по логину и паролю SQL.
  4. Задайте пароль для sa или создайте отдельный логин и выдайте ему роль dbcreator — этого достаточно, чтобы 1С создала базу.
  5. Пути к данным, журналам и tempdb разнесите по разным томам, если они есть.

После установки ограничьте память SQL Server. По умолчанию он забирает почти всю ОЗУ и вытесняет рабочие процессы 1С, если обе роли на одной машине:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
-- сервер 32 ГБ, на нём же сервер 1С: оставляем SQL около 20 ГБ
EXEC sp_configure 'max server memory (MB)', 20480;
RECONFIGURE;

PostgreSQL

  1. Скачайте сборку PostgreSQL для 1С той версии, которую поддерживает ваша платформа (список совместимости опубликован у фирмы 1С).
  2. При инициализации кластера СУБД задайте локаль ru_RU.UTF-8 (Linux) или Russian, Russia (Windows).
  3. Задайте пароль пользователю postgres — его 1С и будет использовать для создания базы.
  4. В pg_hba.conf разрешите подключение с адреса сервера 1С, если СУБД на отдельной машине.

Ванильный PostgreSQL из репозитория дистрибутива с 1С работать не будет: платформе нужны специальные доработки сборки, например тип mchar.

Инсталляция сервера 1С:Предприятия как службы

Дистрибутив называется «Технологическая платформа 1С:Предприятия (64-bit) для Windows» — это полная сборка, а не «Тонкий клиент». Скачивается из личного кабинета на портале 1С при наличии подписки ИТС.

Шаги установки

  1. Запустите setup.exe от имени администратора.
  2. В списке компонентов отметьте:
    • Сервер 1С:Предприятия 8;
    • Администрирование сервера 1С:Предприятия — без него не будет консоли;
    • 1С:Предприятие 8 (клиент) — удобно для создания баз прямо на сервере.
  3. На шаге параметров сервера выберите «Установить сервер 1С:Предприятия 8 как сервис Windows» и укажите пользователя службы: создать USR1CV8 или ввести существующую учётную запись.
  4. Установите драйвер защиты, если будете использовать аппаратный ключ HASP. Для программной лицензии он не нужен.
  5. Дождитесь окончания установки и проверьте в services.msc, что служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» запущена.

Регистрация консоли администрирования

Консоль кластера — это оснастка MMC, которая работает через библиотеку radmin.dll. После установки её часто приходится регистрировать вручную, иначе оснастка не откроется. Командная строка от администратора:

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

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

Затем откройте «Администрирование серверов 1С Предприятия» из меню «Пуск», нажмите правой кнопкой на «Central 1C:Enterprise 8.3 servers» → «Создать» → «Центральный сервер 1С:Предприятия 8.3» и введите имя машины. Если кластер появился в дереве со своим рабочим сервером — установка прошла.

Порты и брандмауэр

ПортКто слушаетЗачем
1540агент сервера (ragent)первое обращение клиента и консоли
1541менеджер кластера (rmngr)распределение подключений
1560–1591рабочие процессы (rphost)основная работа пользователей
1545сервер администрирования (ras)только если используете rac или сторонние консоли

Клиент сначала стучится к агенту на 1540, затем к менеджеру кластера на 1541 и получает адрес рабочего процесса из диапазона. Диапазон 1560–1591 задаётся в свойствах рабочего сервера — если меняете его, откройте в брандмауэре ровно новый диапазон.

Порт СУБД (1433 для MS SQL, 5432 для PostgreSQL) открывайте только для сервера 1С, клиентам он не нужен.

Права службы

Учётной записи службы нужны право «Вход в систему как служба» и полный доступ к каталогу C:\Program Files\1cv8\srvinfo, где хранятся реестр кластера и сеансовые данные. Если служба запускается и тут же падает, первым делом проверьте именно эти права.

Сервер 1С готов к созданию баз
Выполнено: 0 / 6

Создание информационной базы на сервере 1С

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

  1. В окне запуска нажмите «Добавить» → «Создание новой информационной базы».
  2. Выберите создание пустой базы или из шаблона конфигурации, если шаблоны установлены.
  3. Укажите имя базы в списке и тип расположения — «На сервере 1С:Предприятия».
  4. Заполните параметры:
ПолеЧто вписать
Кластер серверов 1С:Предприятияимя сервера, например SRV1C (или SRV1C:1541, если порт нестандартный)
Имя информационной базы в кластерелатиницей без пробелов: buh_main
Тип СУБДMS SQL Server или PostgreSQL
Сервер баз данныхимя сервера СУБД; для именованного экземпляра SQL — SRV1C\SQLEXPRESS
Имя базы данныхкак будет называться база в СУБД, обычно совпадает с именем в кластере
Пользователь и пароль сервера БДsa/postgres или созданный логин
Смещение датдля MS SQL — 2000
  1. Отметьте «Создать базу данных в случае её отсутствия».
  2. Флажок «Установить блокировку регламентных заданий» включайте для копий и тестовых баз: так копия не начнёт обмены и загрузку курсов параллельно с рабочей базой.
  3. Нажмите «Далее» и «Готово». База появится и в списке, и в консоли кластера.

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

Перенос существующей файловой базы

  1. В файловой базе: Конфигуратор → Администрирование → Выгрузить информационную базу → файл .dt.
  2. Создайте пустую серверную базу по шагам выше.
  3. В серверной базе: Конфигуратор → Администрирование → Загрузить информационную базу → выбрать .dt.
  4. Пользователям замените путь к базе в списке на серверный.

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

Лицензии и ключи защиты в клиент-серверном режиме

Для клиент-серверного режима нужны два вида лицензий:

  • 🖥 лицензия на сервер 1С:Предприятия (обычная или КОРП) — без неё рабочие сеансы на сервере не стартуют;
  • 👥 клиентские лицензии — на число одновременных подключений.

Программная лицензия

Активируется пин-кодом с конверта. Серверную лицензию активируют на самом сервере: запустите клиент 1С на сервере, войдите в базу, система предложит получить лицензию . Введите пин-код и регистрационные данные организации. Файл лицензии ляжет в C:\ProgramData\1C\licenses.

Клиентские лицензии удобно активировать там же, на сервере. Тогда их раздаёт сервер 1С, и неважно, с какого компьютера человек заходит.

При создании базы проверьте параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» — он должен стоять в «Да». Его видно и в свойствах базы в консоли кластера.

Аппаратный ключ

Серверный USB-ключ HASP вставляется в сервер 1С, на нём ставится драйвер защиты. Сетевые клиентские ключи требуют установки HASP License Manager на машине с ключом. В виртуальной среде ключ пробрасывают через USB-over-IP; программная лицензия здесь проще.

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

Проверить, сколько лицензий занято и кем, можно в консоли кластера: раскройте узел «Сеансы», там есть колонка с лицензией. Из командной строки это делает rac session list --licenses.

Производительность и регламентное обслуживание SQL-базы

Установленный сервер работает, но без обслуживания через пару месяцев база начинает тормозить. Минимальный набор задач:

Для MS SQL Server

ЗадачаКак частоЗачем
Обновление статистикиежедневно ночьюоптимизатор строит верные планы запросов
Перестроение/реорганизация индексовраз в неделюснижает фрагментацию
Очистка процедурного кэшапосле обновления статистикисбрасывает устаревшие планы
Полный бэкапежедневновосстановление
Бэкап журналакаждые 15–60 минуттолько при модели восстановления Full

Задачи настраивают через «Планы обслуживания» в SQL Server Management Studio. Если модель восстановления Full, а бэкапа журнала нет, файл .ldf раздуется до размера диска. Для небольших баз модель Simple плюс ежедневный полный бэкап — разумный выбор.

Для PostgreSQL

  • 🧹 автовакуум включён по умолчанию — не отключайте его;
  • 📊 раз в сутки ночью vacuumdb --all --analyze;
  • ⚙️ shared_buffers около 25% ОЗУ, effective_cache_size — 50–75%.

Настройки самого сервера 1С

  • 🛡 Исключите из проверки антивирусом каталог srvinfo и каталоги файлов СУБД — антивирус способен в разы замедлить работу.
  • 🧠 В свойствах рабочего сервера задайте ограничения памяти рабочих процессов и «Безопасный расход памяти за один вызов», чтобы один тяжёлый отчёт не съел всю память.
  • 🔄 Включите перезапуск рабочих процессов по расписанию или по объёму памяти — так снижается эффект утечек.

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

Регламентные задания самой конфигурации (обмены, загрузка курсов, полнотекстовый индекс) выполняются на сервере 1С и в клиент-серверной базе работают без открытого клиента. Проверьте в свойствах базы в консоли, что флажок «Блокировка регламентных заданий включена» снят — у рабочей базы.

Вопросы по развёртыванию сервера 1С

Можно ли поставить сервер 1С и SQL Server на одну машину?
Да, для 20–50 пользователей это обычная схема. Главное — ограничить память SQL Server параметром max server memory, чтобы осталось место рабочим процессам 1С.
Почему клиент пишет, что не может подключиться к серверу 1С, хотя служба запущена?
Чаще всего закрыт диапазон портов рабочих процессов 1560–1591 или клиент не разрешает имя сервера. Проверьте ping по имени и telnet имя_сервера 1541 с рабочего места.
Нужна ли версия клиента той же сборки, что и сервер?
Да. Номер версии клиента должен совпадать с номером сервера до последней цифры, иначе подключение не установится. При обновлении сервера обновляйте и клиентов.
Можно ли запустить несколько версий сервера 1С на одном компьютере?
Можно, если каждой службе задать свои порты агента, менеджера и диапазон рабочих процессов, например 2540, 2541 и 2560–2591. Это удобно для тестирования нового релиза платформы.
Чем серверная лицензия КОРП отличается от обычной?
КОРП-лицензия открывает расширенные функции кластера: требования назначения функциональности, профили безопасности, тонкую настройку отказоустойчивости. Для одного сервера на небольшую компанию хватает обычной.