Переход с файлового варианта работы информационной базы 1С на клиент-серверный с использованием MS SQL Server — это важный этап масштабирования системы. Однако именно на этом этапе многие системные администраторы сталкиваются с тем, что программа перестает видеть привычный USB-ключ (HASP). Разберем по шагам, почему это происходит, как устроена система лицензирования 1С в трехзвенной архитектуре и что нужно сделать для восстановления работоспособности.
Для начала проанализируем ситуацию, в которой оказался автор вопроса. В файловом варианте 1С:Предприятие работает напрямую с файлом базы данных. В этом случае программе достаточно одной клиентской лицензии (того самого USB-ключа «флешки»), который вставлен в компьютер пользователя.
При переходе на MS SQL Server структура системы меняется на «трехзвенку»:
Проанализируем главную ошибку: в клиент-серверном режиме работы серверная часть 1С сама является потребителем лицензии. Это фундаментальное отличие, которое часто упускают из виду. Чтобы сервер 1С мог запустить рабочий процесс rphost.exe и разрешить подключения к базе под управлением SQL, ему требуется собственная, отдельная серверная лицензия.
Рассмотрим подробнее типы лицензий. Если у вас имеется однопользовательский HASP-ключ, он предназначен исключительно для работы клиентского приложения. Сервер 1С «не умеет» использовать этот ключ для своей авторизации. Более того, если сервер 1С не видит своей серверной лицензии, он не позволит клиенту даже попытаться использовать свой локальный ключ для входа в базу.
Выясним, какие лицензии необходимы для полноценной работы в связке с SQL:
rmngr.exe и rphost.exe. Без нее работа с MS SQL невозможна в принципе (за исключением учебных версий).В обсуждении упоминается специализированная конфигурация — «1С:Центр спутникового мониторинга». Разберем, почему для нее работа через SQL является критичной. Данная система взаимодействует с сервером сбора данных (IMCS), который принимает пакеты координат от трекеров.
Посмотрим на логику работы: поток данных от сотен машин слишком велик для файловой СУБД. Поэтому разработчик (компания ITOB) жестко рекомендует SQL. Однако это требование не отменяет стандартных правил лицензирования платформы 1С. Тот факт, что конфигурация «требует» SQL, не означает, что серверная лицензия 1С идет в комплекте с клиентской «флешкой».
Если вы столкнулись с такой ситуацией, у вас есть несколько путей решения задачи. Рассмотрим каждый из них подробнее.
Для легальной работы необходимо докупить лицензию на сервер «1С:Предприятие 8.3». Существуют два основных варианта:
Если серверная лицензия у вас есть (например, в виде другого USB-ключа), но система ее не видит, проанализируем настройки сетевого обмена. В клиент-серверном варианте сервер 1С ищет ключи с помощью службы Sentinel HASP License Manager.
Проверим конфигурационный файл nnhasp.ini, который обычно располагается в папке C:\Program Files (x86)\Common Files\Aladdin Shared\HASP\. Убедимся, что настройки позволяют искать ключ в сети, если он установлен не на самом сервере:
[NH_COMMON]
NH_TCPIP = ENABLE
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Укажите IP-адрес сервера с ключом
NH_TCPIP_METHOD = TCP
NH_USE_UDP = ENABLE
После внесения изменений обязательно перезапустите службу Sentinel LDK License Manager через консоль services.msc.
Разберем, как убедиться, что ключ виден операционной системе. Откроем браузер и перейдем по адресу http://localhost:1947. Это Sentinel Admin Control Center.
Проанализируем разделы:
rphost) в данный момент захватил лицензию.Если вы решили использовать бесплатный SQL Express 2014, как автор темы, следует помнить о его ограничениях, которые могут повлиять на производительность «Центра спутникового мониторинга»:
Ограничение памяти: SQL Express использует не более 1 Гб оперативной памяти для кэширования данных. Для базы мониторинга с огромным количеством географических точек это станет «узким местом». Система начнет активно использовать файл подкачки на диске, что приведет к задержкам при построении треков на карте.
Размер базы данных: Лимит в 10 Гб для версии 2014 года. При активном мониторинге транспорта этот объем может быть исчерпан за несколько месяцев. Проанализируйте возможность настройки регламентных заданий по очистке старых координат или архивированию данных.
Выясним последовательность действий при возникновении ошибки:
1C:Enterprise 8.3 Server Agent должна запускаться от имени пользователя, имеющего права на чтение USB-портов (обычно это локальная системная учетная запись или специально созданный пользователь в группе Администраторы).Series.Таким образом, мы выяснили, что основной причиной проблемы является попытка запустить серверную архитектуру без соответствующей лицензии на сервер 1С. Работа с MS SQL — это не просто смена способа хранения файлов, это переход на другой уровень программной архитектуры, требующий соблюдения правил лицензирования «трехзвенки».