От СУБД до первого входа: как запустить 1С в клиент-серверном режиме
Содержание
Чтобы подключить серверную базу
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 Server | Windows-инфраструктура, есть администратор, привычный SSMS | Лицензия Microsoft платная; Express ограничен 10 ГБ на базу |
| PostgreSQL (сборка для 1С) | Нужно бесплатно или сервер на Linux | Нужна сборка с патчами для 1С, а не «чистая» с сайта PostgreSQL |
| Postgres Pro | Импортозамещение, нужна поддержка вендора | Платные редакции, отдельные условия лицензирования |
| IBM Db2, Oracle | Почти не встречаются в новых внедрениях | Мало специалистов и примеров |
Для базы до 50 пользователей обе популярные СУБД дают сопоставимую скорость, если их правильно настроить. Решает не СУБД, а память, диски и обслуживание.
SQL Server Express подходит только для пробы. Предел 10 ГБ на файл данных база бухгалтерии средней фирмы выбирает за год-два, и после этого запись в базу прекращается.
Установка и настройка СУБД под 1С
MS SQL Server
- При установке выберите компонент Database Engine Services.
- Сопоставление (collation) задайте
Cyrillic_General_CI_AS. - Включите смешанную аутентификацию (SQL Server и Windows) и задайте пароль для
sa. - Создайте отдельный логин для 1С, например
usr1c, с рольюdbcreator. Работать подsaможно, но безопаснее отдельная учётка. - В свойствах экземпляра ограничьте Maximum server memory. Иначе SQL Server заберёт почти всю память и сервер 1С начнёт свопиться. Ориентир: оставить 4-6 ГБ системе и службе 1С.
- Откройте в брандмауэре порт 1433, если СУБД стоит на отдельной машине.
PostgreSQL
- Установите сборку PostgreSQL для 1С подходящей версии. Список совместимых версий СУБД зависит от версии платформы — сверяйтесь с требованиями к релизу.
- При инициализации кластера задайте локаль
ru_RU.UTF-8(на Windows —Russian_Russia). - Задайте пароль пользователю
postgresили создайте отдельную роль с правом создавать базы. - Если сервер 1С на другой машине, разрешите подключение в
pg_hba.confи укажитеlisten_addressesвpostgresql.conf. Порт по умолчанию — 5432. - Подстройте под память
shared_buffersиeffective_cache_size. Грубый ориентир: четверть ОЗУ и половина-три четверти ОЗУ соответственно.
-- PostgreSQL: отдельная роль для сервера 1С
CREATE ROLE usr1c WITH LOGIN CREATEDB PASSWORD 'СложныйПароль';
Установка сервера 1С:Предприятие
На Windows сервер ставится тем же установщиком технологической платформы, что и клиент. Нужно отметить дополнительные компоненты.
- Запустите
setup.exeиз дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows». - В списке компонентов включите Сервер 1С:Предприятия 8 и Администрирование сервера 1С:Предприятия.
- Выберите установку сервера как службы Windows. Установщик создаст пользователя
USR1CV8, под которым служба будет работать. - После установки зарегистрируйте консоль администрирования. Без этого оснастка не открывается или не видит сервер.
:: регистрация консоли кластера — путь к своей версии платформы
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
- Откройте оснастку «Администрирование серверов 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С:Предприятия.
- Заполните параметры:
- Кластер серверов
— имя сервера 1С (или
имя:порт, если кластер не на 1541); - Имя информационной базы в кластере — латиницей без пробелов, например
buh; - Тип СУБД, Сервер баз данных, Имя базы данных — как назовётся база в SQL;
- Пользователь и пароль сервера БД — учётка из предыдущего раздела;
- Смещение дат —
2000для MS SQL,0для PostgreSQL; - флажок Создать базу данных в случае ее отсутствия.
- Кластер серверов
— имя сервера 1С (или
- Флажок Установить блокировку регламентных заданий включайте для копий и тестовых баз, чтобы они не гоняли обмены и загрузки вместо рабочей.
Не создавайте тестовую копию с блокировкой регламентных заданий выключенной, если в базе настроены обмены или выгрузки в банк — копия начнёт отправлять данные как рабочая.
Перенос существующей файловой базы
Готовая файловая база переезжает через выгрузку .dt:
- В файловой базе: Конфигуратор →
Администрирование → Выгрузить информационную базу. - Создайте пустую серверную базу по шагам выше.
- Откройте её в Конфигураторе →
Администрирование → Загрузить информационную базуи укажите файл.dt.
Загрузка требует монопольного доступа. Для базы на 20-30 ГБ закладывайте от получаса до нескольких часов.
Подключение рабочих мест к серверной базе
На каждом компьютере пользователя:
- Установите клиент платформы той же версии, что и сервер.
- В окне запуска:
Добавить → Добавление в список существующей информационной базы. - Выберите На сервере 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С и как их снять
Большинство сбоев видно по тексту сообщения. Выберите симптом:
ping srv1c и доступность порта с клиента.Если ни один вариант не подошёл, загляните в журнал событий Windows на сервере (раздел «Приложение», источник 1С) — сервер пишет туда причину отказа подробнее, чем показывает клиент.
Частые вопросы
Можно ли держать СУБД и сервер 1С на разных машинах?
Сколько баз можно создать в одном кластере?
Нужно ли обновлять платформу на сервере и клиентах одновременно?
Можно ли вернуть серверную базу обратно в файловую?
.dt из серверной базы и загрузите его в новую пустую файловую.