Почему 1С перестает видеть HASP-ключ после перехода на MS SQL и как это исправить

Системный администратор 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

Переход с файлового варианта работы информационной базы 1С на клиент-серверный с использованием MS SQL Server — это важный этап масштабирования системы. Однако именно на этом этапе многие системные администраторы сталкиваются с тем, что программа перестает видеть привычный USB-ключ (HASP). Разберем по шагам, почему это происходит, как устроена система лицензирования 1С в трехзвенной архитектуре и что нужно сделать для восстановления работоспособности.

Анализ архитектурных различий: Файл vs Сервер

Для начала проанализируем ситуацию, в которой оказался автор вопроса. В файловом варианте 1С:Предприятие работает напрямую с файлом базы данных. В этом случае программе достаточно одной клиентской лицензии (того самого USB-ключа «флешки»), который вставлен в компьютер пользователя.

При переходе на MS SQL Server структура системы меняется на «трехзвенку»:

  1. Клиентское приложение (тонкий или толстый клиент).
  2. Кластер серверов 1С:Предприятия (промежуточное звено).
  3. Сервер баз данных (MS SQL Server).

Проанализируем главную ошибку: в клиент-серверном режиме работы серверная часть 1С сама является потребителем лицензии. Это фундаментальное отличие, которое часто упускают из виду. Чтобы сервер 1С мог запустить рабочий процесс rphost.exe и разрешить подключения к базе под управлением SQL, ему требуется собственная, отдельная серверная лицензия.

Выясняем причину: почему однопользовательский ключ не работает?

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

Выясним, какие лицензии необходимы для полноценной работы в связке с SQL:

Специфика отраслевого решения «Центр спутникового мониторинга»

В обсуждении упоминается специализированная конфигурация — «1С:Центр спутникового мониторинга». Разберем, почему для нее работа через SQL является критичной. Данная система взаимодействует с сервером сбора данных (IMCS), который принимает пакеты координат от трекеров.

Посмотрим на логику работы: поток данных от сотен машин слишком велик для файловой СУБД. Поэтому разработчик (компания ITOB) жестко рекомендует SQL. Однако это требование не отменяет стандартных правил лицензирования платформы 1С. Тот факт, что конфигурация «требует» SQL, не означает, что серверная лицензия 1С идет в комплекте с клиентской «флешкой».

Рассмотрим варианты решения проблемы

Если вы столкнулись с такой ситуацией, у вас есть несколько путей решения задачи. Рассмотрим каждый из них подробнее.

1. Приобретение серверной лицензии

Для легальной работы необходимо докупить лицензию на сервер «1С:Предприятие 8.3». Существуют два основных варианта:

2. Настройка HASP License Manager

Если серверная лицензия у вас есть (например, в виде другого 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.

3. Диагностика через консоль администратора HASP

Разберем, как убедиться, что ключ виден операционной системе. Откроем браузер и перейдем по адресу http://localhost:1947. Это Sentinel Admin Control Center.

Проанализируем разделы:

  1. Sentinel Keys: здесь должны отображаться все физически подключенные ключи.
  2. Features: проверьте наличие Feature ID 188 (это код серверной лицензии 1С:Предприятие 64-bit) или Feature ID 82 (32-bit сервер).
  3. Sessions: здесь можно увидеть, какой процесс (например, rphost) в данный момент захватил лицензию.

Технические нюансы работы с MS SQL Express

Если вы решили использовать бесплатный SQL Express 2014, как автор темы, следует помнить о его ограничениях, которые могут повлиять на производительность «Центра спутникового мониторинга»:

Ограничение памяти: SQL Express использует не более 1 Гб оперативной памяти для кэширования данных. Для базы мониторинга с огромным количеством географических точек это станет «узким местом». Система начнет активно использовать файл подкачки на диске, что приведет к задержкам при построении треков на карте.

Размер базы данных: Лимит в 10 Гб для версии 2014 года. При активном мониторинге транспорта этот объем может быть исчерпан за несколько месяцев. Проанализируйте возможность настройки регламентных заданий по очистке старых координат или архивированию данных.

Пошаговый чек-лист для исправления проблемы «ключ не виден»

Выясним последовательность действий при возникновении ошибки:

  1. Убедитесь в наличии серверной лицензии. Если у вас только один USB-ключ (фиолетового цвета или с маркировкой H4 M1), то это клиентская лицензия. Для работы с SQL вам нужен еще один ключ (обычно красный для сервера или программная лицензия).
  2. Проверьте разрядность сервера. Если вы установили 64-битный сервер 1С, ему обязательно нужна 64-битная лицензия. 32-битная лицензия сервера не подойдет для 64-битного процесса.
  3. Установите драйвер HASP. Скачайте последнюю версию Sentinel HASP Runtime с официального сайта. Старые версии драйверов часто некорректно работают с современными ОС и портами USB 3.0.
  4. Проверьте службы. Служба 1C:Enterprise 8.3 Server Agent должна запускаться от имени пользователя, имеющего права на чтение USB-портов (обычно это локальная системная учетная запись или специально созданный пользователь в группе Администраторы).
  5. Исключите конфликты. Если в один сервер вставлено два одинаковых ключа (например, два сетевых на 10 пользователей), 1С увидит только один из них. В случае с серверным и клиентским ключами конфликтов быть не должно, так как у них разные Series.

Таким образом, мы выяснили, что основной причиной проблемы является попытка запустить серверную архитектуру без соответствующей лицензии на сервер 1С. Работа с MS SQL — это не просто смена способа хранения файлов, это переход на другой уровень программной архитектуры, требующий соблюдения правил лицензирования «трехзвенки».

← На главную