От СУБД до первого входа: как запустить 1С в клиент-серверном режиме

· 9 мин

Содержание

Чтобы подключить серверную базу 1С, нужны три вещи: работающая СУБД (MS SQL Server или PostgreSQL), установленный сервер 1С:Предприятия той же версии, что и клиенты, и информационная база, зарегистрированная в кластере. Пользователь добавляет её в список баз через Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия, указав имя сервера и имя базы в кластере.

Частое заблуждение — что достаточно «положить базу на сервер» и открыть к ней общую папку. Это всё ещё файловый режим, только по сети. Клиент-серверный режим — это отдельная служба 1С, которая сама ходит в СУБД. Клиент общается только с ней, а к файлам базы доступа не имеет вообще.

Что подготовить до установки

Перед стартом проверьте пять вещей. Если хоть одной нет, подключение остановится на полпути.

  • 🖥️ Сервер. Windows Server 2016 и новее или Linux из списка поддерживаемых. Для небольшой базы на 10-20 пользователей хватает 4 ядер и 16 ГБ памяти, если СУБД и сервер 1С стоят на одной машине.
  • 🔑 Лицензия на сервер 1С. Без неё служба запустится, но базу не откроет. Клиентские лицензии — отдельно, их нужно столько, сколько одновременных сеансов.
  • 📦 Дистрибутив платформы нужной версии. Номер на сервере и у клиентов должен совпадать полностью, до последней цифры сборки.
  • 🌐 Имя сервера, которое разрешается на всех клиентах. Сервер 1С отдаёт клиенту адрес рабочего процесса по имени хоста, и если клиент это имя не знает, соединение рвётся.
  • 🧱 Открытые порты между клиентами и сервером: 1540, 1541 и диапазон 1560-1591.

Сразу пропишите имя сервера в DNS или в файл C:\Windows\System32\drivers\etc\hosts на клиентах. Это снимает половину вопросов «по IP пингуется, а 1С не подключается».

Какую СУБД выбрать для серверной базы 1С

1С 8.3 работает с четырьмя СУБД. На практике выбирают из двух первых.

СУБДКогда подходитНа что смотреть
MS SQL ServerWindows-инфраструктура, есть администратор, привычный SSMSЛицензия Microsoft платная; Express ограничен 10 ГБ на базу
PostgreSQL (сборка для 1С)Нужно бесплатно или сервер на LinuxНужна сборка с патчами для 1С, а не «чистая» с сайта PostgreSQL
Postgres ProИмпортозамещение, нужна поддержка вендораПлатные редакции, отдельные условия лицензирования
IBM Db2, OracleПочти не встречаются в новых внедренияхМало специалистов и примеров

Для базы до 50 пользователей обе популярные СУБД дают сопоставимую скорость, если их правильно настроить. Решает не СУБД, а память, диски и обслуживание.

SQL Server Express подходит только для пробы. Предел 10 ГБ на файл данных база бухгалтерии средней фирмы выбирает за год-два, и после этого запись в базу прекращается.

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

MS SQL Server

  1. При установке выберите компонент Database Engine Services.
  2. Сопоставление (collation) задайте Cyrillic_General_CI_AS.
  3. Включите смешанную аутентификацию (SQL Server и Windows) и задайте пароль для sa.
  4. Создайте отдельный логин для 1С, например usr1c, с ролью dbcreator. Работать под sa можно, но безопаснее отдельная учётка.
  5. В свойствах экземпляра ограничьте Maximum server memory. Иначе SQL Server заберёт почти всю память и сервер 1С начнёт свопиться. Ориентир: оставить 4-6 ГБ системе и службе 1С.
  6. Откройте в брандмауэре порт 1433, если СУБД стоит на отдельной машине.

PostgreSQL

  1. Установите сборку PostgreSQL для 1С подходящей версии. Список совместимых версий СУБД зависит от версии платформы — сверяйтесь с требованиями к релизу.
  2. При инициализации кластера задайте локаль ru_RU.UTF-8 (на Windows — Russian_Russia).
  3. Задайте пароль пользователю postgres или создайте отдельную роль с правом создавать базы.
  4. Если сервер 1С на другой машине, разрешите подключение в pg_hba.conf и укажите listen_addresses в postgresql.conf. Порт по умолчанию — 5432.
  5. Подстройте под память shared_buffers и effective_cache_size. Грубый ориентир: четверть ОЗУ и половина-три четверти ОЗУ соответственно.
-- PostgreSQL: отдельная роль для сервера 1С
CREATE ROLE usr1c WITH LOGIN CREATEDB PASSWORD 'СложныйПароль';

Установка сервера 1С:Предприятие

На Windows сервер ставится тем же установщиком технологической платформы, что и клиент. Нужно отметить дополнительные компоненты.

  1. Запустите setup.exe из дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows».
  2. В списке компонентов включите Сервер 1С:Предприятия 8 и Администрирование сервера 1С:Предприятия.
  3. Выберите установку сервера как службы Windows. Установщик создаст пользователя USR1CV8, под которым служба будет работать.
  4. После установки зарегистрируйте консоль администрирования. Без этого оснастка не открывается или не видит сервер.
:: регистрация консоли кластера — путь к своей версии платформы
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
  1. Откройте оснастку «Администрирование серверов 1С Предприятия» и добавьте центральный сервер по имени. В дереве должен появиться кластер на порту 1541.

На Linux сервер ставится из deb- или rpm-пакетов, а вместо оснастки удобнее rac в паре со службой ras. Проверка, что кластер жив: rac cluster list. Остальные подкоманды смотрите в rac help.

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

Какие порты за что отвечают

ПортКто слушаетЗачем
1540Агент сервера (ragent)Первичное обращение клиента и консоли
1541Менеджер кластера (rmngr)Управление кластером
1560-1591Рабочие процессы (rphost)Основной обмен данными с клиентами
1545Служба rasНужна только для rac и сторонних консолей

Диапазон 1560-1591 задаётся в свойствах рабочего сервера. Если его изменили, правила брандмауэра нужно поправить под новый диапазон.

Создание серверной базы в кластере 1С

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

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

  1. Нажмите Добавить → Создание новой информационной базы.
  2. Выберите пустую базу или создание из шаблона, задайте имя для списка.
  3. Тип расположения — На сервере 1С:Предприятия.
  4. Заполните параметры:
    • Кластер серверов — имя сервера 1С (или имя:порт, если кластер не на 1541);
    • Имя информационной базы в кластере — латиницей без пробелов, например buh;
    • Тип СУБД, Сервер баз данных, Имя базы данных — как назовётся база в SQL;
    • Пользователь и пароль сервера БД — учётка из предыдущего раздела;
    • Смещение дат — 2000 для MS SQL, 0 для PostgreSQL;
    • флажок Создать базу данных в случае ее отсутствия.
  5. Флажок Установить блокировку регламентных заданий включайте для копий и тестовых баз, чтобы они не гоняли обмены и загрузки вместо рабочей.

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

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

Готовая файловая база переезжает через выгрузку .dt:

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

Загрузка требует монопольного доступа. Для базы на 20-30 ГБ закладывайте от получаса до нескольких часов.

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

На каждом компьютере пользователя:

  1. Установите клиент платформы той же версии, что и сервер.
  2. В окне запуска: Добавить → Добавление в список существующей информационной базы.
  3. Выберите На сервере 1С:Предприятия и укажите кластер (srv1c) и имя базы (buh).

Строка подключения выглядит так: Srvr="srv1c";Ref="buh";. Ярлык с прямым запуском:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S "srv1c\buh"

Чтобы не настраивать каждый компьютер руками, раздайте общий список баз. Создайте файл .v8i с нужными базами, положите его в сетевую папку и укажите путь к нему в настройках диалога запуска или в 1cestart.cfg параметром CommonInfoBases.

Для удалённых сотрудников открывать порты 1540-1591 в интернет не стоит. Надёжнее VPN, публикация базы на веб-сервере или удалённый рабочий стол.

Обслуживание и контроль нагрузки

Подключить базу — полдела. Без обслуживания она за несколько месяцев начинает тормозить.

Что делать регулярно:

  • 📊 Статистика и индексы. Для MS SQL — план обслуживания с обновлением статистики ежедневно и перестроением индексов раз в неделю. Для PostgreSQL — VACUUM ANALYZE по расписанию, autovacuum не выключать.
  • 🔒 Блокировки. В консоли кластера в разделе «Блокировки» видно, какой сеанс что держит. Долгие блокировки — повод разбирать конкретную операцию.
  • 🧾 Сеансы и лицензии. Раздел «Сеансы» показывает, кто подключён и с какого компьютера. Зависшие сеансы забирают лицензии.
  • 📝 Технологический журнал. Файл logcfg.xml в каталоге conf платформы включает подробный лог событий сервера. Включайте точечно и на время — журнал быстро растёт.

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

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

Резервное копирование серверной базы

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

СпособПлюсыМинусы
Бэкап MS SQL (план обслуживания)Без остановки работы, полный и разностныйНужна настройка модели восстановления
pg_dump для PostgreSQLПростой, без остановкиДля больших баз долгое восстановление
Выгрузка .dtПереносится между СУБДМонопольный режим, медленно
:: PostgreSQL: сжатая копия базы buh
pg_dump -U postgres -Fc -f D:\backup\buh.backup buh

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

Бэкап, который ни разу не восстанавливали, — это надежда, а не бэкап. Раз в месяц разворачивайте копию на тестовый стенд.

Ошибки при подключении к серверу 1С и как их снять

Большинство сбоев видно по тексту сообщения. Выберите симптом:

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

Если ни один вариант не подошёл, загляните в журнал событий Windows на сервере (раздел «Приложение», источник 1С) — сервер пишет туда причину отказа подробнее, чем показывает клиент.

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

Можно ли держать СУБД и сервер 1С на разных машинах?
Да. Для крупных баз это даже лучше. Нужна быстрая сеть между ними, от 1 Гбит/с, и одинаковое время на обоих серверах.
Сколько баз можно создать в одном кластере?
Жёсткого предела нет. Ограничение — ресурсы сервера и лицензии на одновременные сеансы.
Нужно ли обновлять платформу на сервере и клиентах одновременно?
Да. После обновления сервера клиенты со старой версией не подключатся, поэтому обновление планируют на нерабочее время и сразу раздают новый клиент.
Можно ли вернуть серверную базу обратно в файловую?
Да. Выгрузите .dt из серверной базы и загрузите его в новую пустую файловую.
Почему серверная база работает медленнее файловой на одном пользователе?
Это нормально: появляется сетевой обмен с СУБД. Выигрыш клиент-серверного режима виден при 5-10 и более одновременных пользователях и на больших объёмах данных.