Освобождаем занятые лицензии 1С, когда пользователей не пускает в базу
Содержание
Чтобы освободить лицензии 1С, нужно завершить сеансы, которые их держат. Обычно это зависшие или забытые подключения: человек ушёл домой, а сеанс остался. Завершить их можно в консоли администрирования кластера серверов, в списке активных пользователей базы или командой rac. Если сеансов нет, а лицензии всё равно «заняты», смотрите сервер лицензий HASP и службу сервера 1С.
Типичная картина: утром новый сотрудник не может войти, 1С пишет Не найдено свободной лицензии или Превышено максимальное количество подключений. Лицензий куплено пять, а за компьютерами сидит четверо. Пятая «висит» в сеансе, который никто не помнит.
Ниже порядок действий от безопасного к радикальному: сначала разбираемся, кто занимает лицензии, потом освобождаем их по одной, и только в крайнем случае перезапускаем службу.
Сначала выясняем, кто занимает лицензии
Не спешите перезапускать сервер. Сначала поймите, где именно «застряла» лицензия: она может быть занята живым сеансом, мёртвым сеансом или вообще не 1С-приложением.
Что проверить за пять минут:
- 👥 Сколько лицензий куплено. Посмотрите в документах на лицензию или в консоли кластера. Пакет на 5 мест — это 5 одновременных подключений, а не 5 пользователей в базе.
- 🖥️ Сколько сеансов открыто. Не только обычных пользователей. Лицензию тратят также фоновые задания, веб-клиент, подключения через COM и обмен данными.
- 🔌 Какой тип лицензии. Аппаратный ключ (USB-«свисток» или ключ в сети) или программная лицензия, привязанная к серверу.
- 🕒 Когда началась проблема. Если сразу после сбоя питания или перезагрузки терминального сервера, вероятнее всего, остались сеансы-«призраки».
Отдельно отметьте, где работают пользователи. Если это терминальный сервер , у одного человека может быть несколько сеансов Windows, и в каждом открыта своя копия 1С.
Спросите, не запускал ли кто-то 1С на двух компьютерах сразу. Это самая частая причина «пропавшей» лицензии: человек вечером закрыл ноутбук с открытой базой и утром работает на другом месте.
Смотрим занятые места в консоли кластера серверов
Для клиент-серверной базы это основной способ. Консоль кластера входит в состав платформы. В ней вы видите все сеансы и можете завершить любой.
- Запустите консоль администрирования серверов 1С:Предприятия.
- Раскройте ветку центрального сервера и выберите нужный кластер. Если запрашивает, введите имя и пароль администратора кластера.
- Перейдите в раздел Сеансы. Отсортируйте список по времени последней активности.
- Найдите сеансы с давней активностью, особенно те, где пользователь давно ушёл. Обратите внимание на колонки с именем пользователя, компьютером, приложением и временем начала.
- Выделите ненужный сеанс и выберите Удалить (завершить сеанс).
Рядом с сеансами есть раздел Лицензии. Он показывает, какие именно лицензии выданы и каким сеансам. Если сеанс завершён, а лицензия в этом списке осталась, подождите минуту и обновите окно: освобождение происходит не мгновенно.
Завершение сеанса обрывает работу человека. Несохранённые документы и открытые формы пропадут. Если в сеансе идёт проведение или закрытие месяца, сначала убедитесь, что это не оно.
Что означают типичные случаи:
| Что видите в списке сеансов | Что это, скорее всего | Что делать |
|---|---|---|
| Сеанс без активности больше суток | Забытое подключение | Завершить |
| Несколько сеансов одного пользователя | Вход с разных компьютеров | Оставить один, остальные завершить |
| Фоновые задания, не пользователи | Регламентные задания | Не трогать без причины |
| Сеанс с приложением веб-клиента | Работа через браузер | Проверить, кто подключён |
Завершаем сеансы из самой базы
Если консоли кластера под рукой нет, а вы администратор базы, откройте список активных пользователей прямо в 1С. Он есть и в режиме 1С:Предприятие, и в Конфигураторе: в Конфигураторе пункт меню Администрирование → Активные пользователи.
Что там видно: имя пользователя, компьютер, тип подключения и время начала работы. Выберите нужную строку и завершите соединение. Работает быстро, но имеет ограничение: вы увидите только сеансы этой конкретной базы. Лицензии, которые заняты другими базами того же кластера, останутся незамеченными.
Для файловой базы картина другая. Лицензия там привязана к рабочему месту и ключу, а не к серверу. Если пользователь остался в списке, а компьютер выключен, достаточно подождать: через несколько минут такое подключение теряется само. Принудительно можно разорвать его, закрыв сеанс у пользователя или перезагрузив его компьютер.
Перед завершением чужого сеанса включите в базе запрет новых подключений на время работы и напишите пользователям. Если нужно освободить много мест сразу, это дешевле, чем разбираться с последствиями обрыва.
Если сеансов нет, а лицензия «занята»: проверяем HASP
Когда в консоли кластера сеансов уже нет, а база всё равно не пускает, виноват может быть сервер лицензий. Для аппаратных ключей HASP на машине, куда вставлен ключ, работает служба и веб-интерфейс администрирования Sentinel Admin Control Center.
Как к нему попасть:
- На компьютере с ключом откройте браузер.
- Введите адрес
http://localhost:1947. С другого компьютера в сети — адрес сервера вместоlocalhost, если удалённый доступ разрешён. - Откройте раздел с подключёнными ключами и посмотрите, виден ли ваш ключ вообще.
- Откройте раздел с сеансами. Там отображаются подключения к ключу: кто и когда его использовал.
Здесь возможны три ситуации:
- 🔑 Ключ не виден. Проблема в драйвере, USB-порте или службе. Переставьте ключ в другой порт, перезапустите службу сервера лицензий.
- 🔁 Ключ виден, но сеансы зависли. Старые подключения от компьютеров, которых уже нет в сети. В интерфейсе их можно отключить вручную.
- 🚫 Ключ виден, сеансов мало, а 1С жалуется. Возможно, не совпадает тип или число лицензий в ключе. Проверьте, что именно записано в вашем ключе.
Если ключ вставлен не в сервер 1С, а в отдельный компьютер, убедитесь, что к нему есть сетевой доступ: порт 1947 не должен блокироваться межсетевым экраном.
Не вынимайте ключ из порта во время работы пользователей. Все, кто сейчас в базе, потеряют лицензию, а 1С может завершить сеансы аварийно.
Командная строка: rac для быстрой чистки
Когда сеансов много или консоли нет, помогает утилита rac из каталога сервера 1С. Она работает вместе со службой ras. Запускайте её из папки bin установленной платформы. Точный набор параметров зависит от версии; полный список всегда выводит rac help.
Основные команды:
rac cluster list
rac session list --cluster=<идентификатор_кластера>
rac session list --licenses --cluster=<идентификатор_кластера>
rac session terminate --cluster=<идентификатор_кластера> --session=<идентификатор_сеанса>
Порядок такой: сначала получаете идентификатор кластера, затем список сеансов, затем завершаете нужный. Идентификаторы выглядят как длинные строки с дефисами, скопируйте их целиком.
Плюс подхода в том, что его можно оформить скриптом, который закрывает сеансы определённого пользователя или давно неактивные. Минус: ошибка в параметре может завершить не то. Сначала всегда выводите список и сверяйте.
Перезапуск службы сервера 1С: крайняя мера
Если завершение сеансов не помогает, кластер «замер» или процессы не отвечают, остаётся перезапуск службы агента сервера 1С:Предприятия.
Перед перезапуском службы предупредите всех. Оборвутся все сеансы всех пользователей на этом сервере, не завершатся фоновые задания, несохранённые данные пропадут. Делайте это вне рабочего времени или в согласованное окно.
Порядок действий:
- Объявите окно работ и дождитесь, пока пользователи сохранят данные и выйдут.
- Откройте оснастку служб Windows (
services.msc). - Найдите службу агента сервера 1С:Предприятия и выберите перезапуск.
- Подождите, пока запустятся рабочие процессы кластера. На большой базе это занимает несколько минут.
- Откройте консоль кластера и убедитесь, что сеансов нет, а лицензии свободны.
На Linux служба называется иначе, и управляется через systemctl. Имя юнита зависит от версии платформы, посмотрите его командой systemctl list-units | grep srv.
Перезапуск освобождает лицензии, потому что вместе со службой закрываются все её сеансы. Зато если причиной была проблема с сервером лицензий, после перезапуска она вернётся. Тогда ищите её в HASP, а не в кластере.
http://localhost:1947 на машине с ключом и проверьте подключения к ключу.Программные лицензии: особенности
Программная лицензия не лежит в USB-ключе. Она записана на конкретный компьютер или сервер, а привязка идёт к его оборудованию. Поэтому «освободить» её нельзя так же, как зависшее подключение.
Что нужно знать:
- 🧩 Сеансы, как и при аппаратных ключах, можно завершать, и места освободятся. Здесь всё работает так же.
- 🛠️ Если сменили процессор, материнскую плату, диск или перенесли виртуальную машину на другой хост, привязка может сломаться. Лицензия перестанет подходить.
- 📨 Тогда лицензию нужно получить заново по пин-коду. Число таких получений ограничено условиями поставки, поэтому не проводите эксперименты с «ломаемым» оборудованием.
- ☁️ При переезде в облако или смене гипервизора заранее уточните у поставщика, как переносить лицензию.
Если вы только что переустановили сервер, а лицензии не видно, это как раз та самая ситуация. Не пытайтесь «освободить» лицензию завершением сеансов, они не при чём.
Любые инструкции по обходу лицензирования, «таблеткам» и эмуляторам ключей не только незаконны, но и опасны: вместе с ними в систему часто попадают вредоносные программы. Если лицензий не хватает, их можно докупить и расширить пакет, это дешевле последствий.
Как не упереться в лимит снова
Освободить лицензию один раз просто. Гораздо удобнее, чтобы ситуация не повторялась.
Практические приёмы:
- ⏱️ Завершение неактивных сеансов. В настройках кластера можно задать время, после которого простаивающий сеанс закрывается. Так утренние «призраки» исчезают сами.
- 📊 Мониторинг. Раз в неделю смотрите максимальное число одновременных сеансов. Если оно упирается в потолок, проблема не в зависаниях, а в нехватке лицензий.
- 🗓️ Разнос нагрузки. Если обмены и регламентные задания запускаются в начале рабочего дня, они тратят места как раз тогда, когда приходят люди.
- 📝 Регламент для терминального сервера. Пользователь закрывает 1С и выходит из сеанса, а не просто закрывает окно подключения.
Если после всего этого мест всё равно не хватает, считайте не по числу сотрудников, а по числу одновременно работающих. Бухгалтерия в закрытие месяца и склад в отгрузку пиковые в разное время, часто хватает меньшего пакета, чем кажется.
Частые ошибки при освобождении лицензий
Коротко о том, что идёт не так чаще всего.
- Перезапускают сервер там, где хватило бы завершить один сеанс. В итоге все теряют несохранённую работу.
- Завершают сеанс фонового задания вместо пользовательского и ломают обмен или закрытие периода .
- Ищут проблему в кластере, когда ключ просто отвалился от USB-порта.
- Забывают, что один человек занимает несколько мест, если подключается одновременно с нескольких устройств.
- Путают лицензию на сервер и клиентские лицензии: это разные ограничения, и очистка сеансов влияет на них по-разному.