В процессе эксплуатации высоконагруженных систем на базе платформы 1С:Предприятие 8.3 системные администраторы часто сталкиваются с ситуацией, когда сервер перестает отвечать, клиенты не могут подключиться, а в консоли администрирования наблюдается аномальное количество «зависших» фоновых заданий. При анализе технологического журнала (ТЖ) обнаруживается бесконечный цикл записей с ошибкой IDS_LICENSE_DATABASECOPY. В этой статье мы подробно разберем, почему возникает эта проблема и как ее устранить различными методами.
Разберем природу сообщения IDS_LICENSE_DATABASECOPY. Данный идентификатор относится к механизму «Копии базы данных» и использованию «Дата-акселератора». Эти функции официально требуют наличия лицензии уровня КОРП. Однако проблема заключается в том, что ошибка фиксируется даже в тех системах, где данные механизмы никогда не настраивались и не использовались.
Выясним причину: это системная ошибка платформы (внутренние номера багов 10237750 и 40062369). Процесс ragent или rmngr при выполнении внутренних регламентных операций по проверке топологии кластера некорректно обращается к функционалу копий баз данных. Если в системе установлены обычные лицензии (ПРОФ), платформа инициирует исключение EXCP, которое записывается в лог. При высокой интенсивности таких обращений (каждые 1–2 минуты) происходят следующие негативные процессы:
Проанализируем официальные исправления от компании 1С. Поскольку проблема признана программной ошибкой, наиболее надежным способом ее решения является переход на релизы, где этот баг был исправлен. Рассмотрим версии, в которых ошибка IDS_LICENSE_DATABASECOPY больше не проявляется:
8.3.22.1603.8.3.20.2158.Если ваша система работает на версии 8.3.20.1549, 8.3.20.1613 или 8.3.20.1710, обновление в рамках той же ветки (до 2158) будет самым быстрым и безопасным решением.
Иногда ошибка «залипает» в реестре кластера даже после изменения условий эксплуатации. Проведем процедуру полной очистки временных данных сервера. Внимание: это потребует кратковременной остановки службы 1С.
1C:Enterprise 8.3 Server Agent.C:\Program Files\1cv8\srvinfo).reg_1541 (или другого порта), за исключением файла 1cv8wsrv.lst, если мы не хотим заново прописывать базы в консоли. Однако для максимально «чистого» результата рекомендуется очистить все и пересоздать список баз вручную.snccntx.Рассмотрим крайне специфичное, но подтвержденное на практике решение. В некоторых конфигурациях (особенно в Управлении торговлей или ERP) старая версия внешней компоненты печати штрихкодов может вызывать косвенные конфликты при обращении к ресурсам платформы, что провоцирует записи о лицензировании в ТЖ. Разберем по шагам, как обновить макет:
КомпонентаПечатиШтрихКодов.Конфигуратор, найдем аналогичный макет.Это действие помогает в случаях, когда ошибка возникает именно в момент работы пользователей с торговым оборудованием или печатными формами.
Если по каким-то причинам немедленное обновление платформы невозможно, мы можем снизить нагрузку на сервер, исключив запись данной ошибки в логи. Это не устранит саму причину, но предотвратит зависание из-за переполнения диска и чрезмерной работы с I/O. Отредактируем файл logcfg.xml, добавив фильтр исключений.
Пример настройки фильтрации для события EXCP:
<log location="C:\LOGS\1C" history="24">
<event>
<eq property="Name" value="EXCP"/>
<ne property="Descr" value="IDS_LICENSE_DATABASECOPY"/>
</event>
<property name="all"/>
</log>
Использование оператора ne (not equal) в свойстве Descr позволит платформе игнорировать записи, содержащие текст о лицензии КОРП, сохраняя при этом другие важные ошибки для анализа.
Проанализируем еще один аспект: стабильность связи с ключами защиты. Платформа 1С при невозможности быстро получить ответ от менеджера лицензий (HASP или программного ключа) может инициировать процедуру опроса всех доступных функциональных возможностей, включая КОРП-режим. Если в этот момент происходят сетевые задержки, фиксируется ошибка лицензирования DATABASECOPY.
Рекомендуется выполнить следующие действия:
rmngr.exe, rphost.exe и ragent.exe в исключения антивируса и брандмауэра.nnhasp.ini на стороне сервера 1С явно прописан IP-адрес сервера лицензий (параметр NH_SERVER_ADDR), чтобы исключить задержки при широковещательном опросе (Broadcast).Таким образом, мы рассмотрели комплекс мер по борьбе с ошибкой IDS_LICENSE_DATABASECOPY. Начните с обновления платформы до рекомендуемых релизов, так как это единственный способ полностью устранить корень проблемы, заложенный в программном коде 1С.