Ситуация, когда утром пользователи не могут войти в 1С из-за ошибки лицензии сервера, является классической для систем на базе Windows Server 2012 R2 и выше, использующих аппаратные ключи защиты HASP. Особенно часто проблема проявляется после выполнения ночных регламентных заданий (бэкапов) или периодов, когда в системе отсутствуют активные сеансы. Рассмотрим подробно причины этого поведения и разберем по шагам методы решения.
Прежде всего, проанализируем текст ошибки. Если система выдает сообщение «Не обнаружена лицензия на запуск сервера», это означает, что проблема локализована именно в серверном ключе (обычно это отдельный USB-токен, например, серии Max или Net). Важно понимать, что настройки файла nethasp.ini, работа службы License Manager (hasplm) и проброс 475 порта относятся к клиентским лицензиям. Для работы самого сервера приложений 1С эти параметры вторичны, так как служба ragent напрямую взаимодействует с драйвером защиты Sentinel LDK.
Выясним основную причину «засыпания» ключа. Операционная система Windows по умолчанию может отключать питание USB-портов для экономии энергии, если к ним долго не было обращений. Проанализируем, как это предотвратить:
Проблемы с обнаружением лицензии часто возникают из-за того, что агент сервера 1С пытается опросить ключ через протокол IPv6, который может работать некорректно или блокироваться. Рассмотрим алгоритм исправления:
Во-первых, рекомендуется полностью отключить IPv6 в свойствах сетевого адаптера сервера. Во-вторых, необходимо жестко связать имя сервера с его IP-адресом в файле hosts, чтобы исключить задержки при разрешении имен в момент проверки лицензии. Отредактируем файл C:\Windows\System32\drivers\etc\hosts, добавив строку:
127.0.0.1 localhost
192.168.1.10 ИмяВашегоСервера
Если проблема возникает именно после перезагрузки или проведения бэкапа, сопровождающегося перезапуском служб, возможна ситуация, когда служба 1C:Enterprise 8.3 Server Agent стартует быстрее, чем инициализируется драйвер защиты Sentinel LDK (hasplms). В этом случае 1С «не видит» ключ при старте и уходит в ошибку.
Разберем, как установить принудительную зависимость. Запустим командную строку от имени администратора и выполним команду (учитывайте, что имя службы может отличаться в зависимости от версии платформы):
sc config "1C:Enterprise 8.3 Server Agent" depend= "sentinel"
Теперь служба 1С не запустится до тех пор, пока драйвер Sentinel не будет полностью готов к работе. Это гарантирует корректный опрос серверного ключа при старте системы.
Проанализируем ситуацию с ночными бэкапами. Если ваш сервер 1С развернут в виртуальной среде (например, Hyper-V или VMware), то во время создания «снимка» (snapshot) всей виртуальной машины происходит кратковременная заморозка операций ввода-вывода (I/O Freeze). В этот момент связь с проброшенным через USB-пасс-тру (Passthrough) ключом может разорваться.
Посмотрим, что можно сделать:
.dt) или средствами СУБД (PostgreSQL/SQL Server), проверьте, не совпадает ли время начала бэкапа с моментом «отвала» лицензии в логах.Иногда система защиты Data Execution Prevention (DEP) может блокировать работу драйверов HASP. Проверим настройки:
Перейдем в «Свойства системы» — «Дополнительно» — «Быстродействие» — «Предотвращение выполнения данных». Рассмотрим вариант перевода DEP в режим «Включать только для основных программ и служб Windows» или добавим исполняемые файлы сервера 1С (ragent.exe, rmngr.exe, rphost.exe) в список исключений.
Также проанализируем работу антивируса. Во время сканирования он может блокировать доступ к библиотекам защиты 1С. Добавим в исключения антивируса пути:
C:\Program Files\1cv8\C:\Program Files (x86)\Common Files\Aladdin Shared\C:\Windows\System32\hasplms.exeЧтобы окончательно выяснить причину, воспользуемся встроенным инструментом диагностики. После установки драйверов Sentinel (HASP) доступен веб-интерфейс Admin Control Center по адресу http://localhost:1947.
Когда в следующий раз возникнет ошибка «Лицензия не обнаружена», зайдите в раздел Sentinel Keys. Если ключ там виден, но 1С его не принимает, проблема в программном обеспечении или сессиях. Если ключа нет в списке — проблема физическая (питание порта, неисправность самого токена или контроллера USB на материнской плате). В этом случае, как показывает практика, помогает установка внешней платы расширения PCI-USB.