Развёртывание сервера 1С:Предприятия 8.3 с SQL: от железа до первой базы
Содержание
Чтобы установить 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С.
Ориентиры по железу
| Пользователей | Процессор | ОЗУ | Диски |
|---|---|---|---|
| до 20 | 4 ядра с высокой частотой | 16 ГБ | SSD/NVMe под базы и журналы |
| 20–50 | 8 ядер | 32 ГБ | NVMe, отдельный том под tempdb/журналы |
| 50–100 | 12–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 тоже поддерживаются, но в малом и среднем бизнесе почти не встречаются.
Что сделать с ОС до установки
- Задайте серверу постоянное имя и статический IP. Сменить имя после регистрации кластера можно, но это лишняя работа.
- Убедитесь, что имя сервера разрешается со всех клиентов:
ping имя_серверадолжен отвечать. Если DNS нет, пропишите имя вC:\Windows\System32\drivers\etc\hostsна каждой машине. - Включите схему электропитания «Высокая производительность».
- Создайте доменную или локальную учётную запись для службы 1С, если не хотите использовать стандартную
USR1CV8, которую создаёт установщик.
Установка и настройка СУБД для сервера 1С
MS SQL Server
- Запустите установку экземпляра SQL Server (подойдёт и Express для тестов: у него лимит 10 ГБ на базу).
- В параметрах сортировки задайте
Cyrillic_General_CI_AS. Если оставить другую сортировку, возможны проблемы с упорядочиванием строк. - Режим проверки подлинности — смешанный (SQL Server и Windows). 1С подключается к СУБД по логину и паролю SQL.
- Задайте пароль для
saили создайте отдельный логин и выдайте ему рольdbcreator— этого достаточно, чтобы 1С создала базу. - Пути к данным, журналам и
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
- Скачайте сборку PostgreSQL для 1С той версии, которую поддерживает ваша платформа (список совместимости опубликован у фирмы 1С).
- При инициализации кластера СУБД задайте локаль
ru_RU.UTF-8(Linux) илиRussian, Russia(Windows). - Задайте пароль пользователю
postgres— его 1С и будет использовать для создания базы. - В
pg_hba.confразрешите подключение с адреса сервера 1С, если СУБД на отдельной машине.
Ванильный PostgreSQL из репозитория дистрибутива с 1С работать не будет: платформе нужны специальные доработки сборки, например тип mchar.
Инсталляция сервера 1С:Предприятия как службы
Дистрибутив называется «Технологическая платформа 1С:Предприятия (64-bit) для Windows» — это полная сборка, а не «Тонкий клиент». Скачивается из личного кабинета на портале 1С при наличии подписки ИТС.
Шаги установки
- Запустите
setup.exeот имени администратора. - В списке компонентов отметьте:
- Сервер 1С:Предприятия 8;
- Администрирование сервера 1С:Предприятия — без него не будет консоли;
- 1С:Предприятие 8 (клиент) — удобно для создания баз прямо на сервере.
- На шаге параметров сервера выберите «Установить сервер
1С:Предприятия 8 как сервис Windows» и укажите пользователя службы: создать
USR1CV8или ввести существующую учётную запись. - Установите драйвер защиты, если будете использовать аппаратный ключ HASP. Для программной лицензии он не нужен.
- Дождитесь окончания установки и проверьте в
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С
Удобнее всего создавать базу из окна запуска 1С на самом сервере или на любом клиенте с той же версией платформы.
- В окне запуска нажмите «Добавить» → «Создание новой информационной базы».
- Выберите создание пустой базы или из шаблона конфигурации, если шаблоны установлены.
- Укажите имя базы в списке и тип расположения — «На сервере 1С:Предприятия».
- Заполните параметры:
| Поле | Что вписать |
|---|---|
| Кластер серверов 1С:Предприятия | имя сервера, например SRV1C (или SRV1C:1541, если порт нестандартный) |
| Имя информационной базы в кластере | латиницей без пробелов: buh_main |
| Тип СУБД | MS SQL Server или PostgreSQL |
| Сервер баз данных | имя сервера СУБД; для именованного экземпляра SQL — SRV1C\SQLEXPRESS |
| Имя базы данных | как будет называться база в СУБД, обычно совпадает с именем в кластере |
| Пользователь и пароль сервера БД | sa/postgres или созданный логин |
| Смещение дат | для MS SQL — 2000 |
- Отметьте «Создать базу данных в случае её отсутствия».
- Флажок «Установить блокировку регламентных заданий» включайте для копий и тестовых баз: так копия не начнёт обмены и загрузку курсов параллельно с рабочей базой.
- Нажмите «Далее» и «Готово». База появится и в списке, и в консоли кластера.
После этого откройте базу в Конфигураторе и загрузите конфигурацию: из файла .cf, обновлением с шаблона или из выгрузки .dt, если переносите файловую базу
. Загрузка .dt требует монопольного доступа и заменяет всё содержимое базы.
Перенос существующей файловой базы
- В файловой базе: Конфигуратор →
Администрирование → Выгрузить информационную базу→ файл.dt. - Создайте пустую серверную базу по шагам выше.
- В серверной базе: Конфигуратор →
Администрирование → Загрузить информационную базу→ выбрать.dt. - Пользователям замените путь к базе в списке на серверный.
Пока идёт перенос, в файловой базе никто не должен работать. Иначе изменения, внесённые после выгрузки, потеряются.
Лицензии и ключи защиты в клиент-серверном режиме
Для клиент-серверного режима нужны два вида лицензий:
- 🖥 лицензия на сервер 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 на одну машину?
Почему клиент пишет, что не может подключиться к серверу 1С, хотя служба запущена?
ping по имени и telnet имя_сервера 1541 с рабочего места.