Администрирование · 12 мин
Как отключить зависшие сеансы 1С
Как найти и завершить зависший сеанс 1С через консоль кластера, конфигуратор и сервер СУБД. Разбираем риски, проверку результата и типичные ошибки.
Зависший сеанс 1С — это соединение пользователя с информационной базой, которое перестало отвечать, но продолжает удерживать лицензию, блокировки данных и ресурсы сервера. Типичные признаки: пользователь не может войти в базу, потому что «сеанс уже запущен», документы заблокированы «невидимым» пользователем, а сервер 1С показывает десятки сеансов от сотрудников, которые давно ушли домой.
Способ отключения зависит от того, как развёрнута система: файловая база на локальном компьютере, клиент-серверный вариант на сервере 1С:Предприятия или база в облачном сервисе. В каждом случае есть свои инструменты и свои ограничения — и свои риски, если завершить сеанс неправильно.
Ниже разобраны рабочие методы: консоль кластера серверов, «Управление серверами 1С», встроенная обработка «Активные пользователи», завершение процессов на уровне операционной системы и работа со стороны СУБД. Отдельно рассмотрены профилактические настройки, которые не дают сеансам зависать массово.
Как понять, что сеанс действительно завис
Прежде чем удалять сеанс, важно отличить зависание от длительной, но нормальной работы. Проведение большого документа, закрытие месяца, выгрузка данных или формирование тяжёлого отчёта могут занимать десятки минут, и в консоли такой сеанс выглядит «занятым». Принудительное завершение в этот момент приведёт к обрыву транзакции и, возможно, к неполным данным.
Настоящее зависание обычно сопровождается сочетанием признаков: пользователь сообщает, что программа «не отвечает» или уже закрыта, а сеанс в консоли остаётся; время последнего вызова не меняется продолжительное время; объём прочитанных и записанных данных не растёт; процесс на клиентском компьютере отсутствует, но соединение на сервере живо.
В консоли кластера откройте свойства сеанса: если «Время последнего вызова» устарело на десятки минут, а пользователь не работает — сеанс, скорее всего, завис
Пользователь закрыл 1С или перезагрузил компьютер, но сеанс остался — это «осиротевший» сеанс, его можно удалять
Если показатели активности увеличиваются — сеанс работает, удалять его опасно: оборвётся реальная операция
Отключение через консоль администрирования серверов 1С
Основной и самый безопасный способ для клиент-серверного варианта — консоль кластера (она же «Администрирование серверов 1С:Предприятия», оснастка 1CV8 Servers). Консоль устанавливается вместе с сервером 1С и доступна на любом компьютере, где есть компоненты сервера, — достаточно добавить в неё нужный центральный сервер.
Порядок действий: откройте консоль, разверните ветку сервера, затем «Кластеры» → «Локальный кластер» → «Сеансы». В списке найдите сеанс по имени пользователя, имени компьютера или приложению (толстый клиент, тонкий клиент, веб-клиент, фоновое задание). Выделите сеанс и выберите «Удалить» в контекстном меню или на панели инструментов. Сеанс завершается принудительно, соединение разрывается, лицензия освобождается.
- 1Откройте консоль «Администрирование серверов 1С:Предприятия» и подключитесь к центральному серверу
- 2Разверните «Кластеры» → «Локальный кластер» → «Сеансы» и найдите зависший сеанс по пользователю или компьютеру
- 3Проверьте время последнего вызова и активность сеанса, чтобы не завершить работающий процесс
- 4Выделите сеанс и нажмите «Удалить» (или Delete)
- 5Обновите список и убедитесь, что сеанс исчез, а пользователь смог войти в базу
Если зависло соединение, а не сеанс (например, разорвано сетевое подключение между рабочим процессом и клиентом), полезно посмотреть ветку «Соединения» той же информационной базы и удалить «мертвое» соединение. Удаление соединения также приводит к завершению связанного сеанса.
Завершение сеансов из режима «Предприятие» и конфигуратора
Если доступа к консоли кластера нет, но есть права администратора в самой базе, используйте стандартную обработку «Активные пользователи». В типовых конфигурациях она находится в разделе «Администрирование» → «Обслуживание» → «Активные пользователи» (в старых версиях — через «Сервис»). Обработка показывает список сеансов и позволяет завершить выбранный или все сеансы, кроме текущего.
У этого способа есть ограничение: обработка завершает сеансы «мягко», отправляя им команду на завершение, и по-настоящему зависший сеанс может на неё не отреагировать. Кроме того, она не показывает сеансы других информационных баз кластера. Для надёжного отключения именно зависших соединений консоль кластера предпочтительнее.
В файловом варианте базы список активных пользователей доступен через «Администрирование» → «Активные пользователи» в конфигураторе или через ту же обработку в режиме «Предприятие». Однако завершить чужой сеанс в файловой базе штатно нельзя — можно только увидеть, кто подключён, и попросить пользователя выйти.
Что делать с файловой базой
В файловом варианте нет сервера 1С, поэтому сеанс живёт только в процессе на компьютере пользователя. Если программа зависла, откройте диспетчер задач на этом компьютере (Ctrl+Shift+Esc), найдите процесс 1cv8.exe или 1cv8c.exe и снимите задачу. После этого файл базы освобождается, и другие пользователи смогут войти.
Сложнее ситуация, когда компьютер пользователя выключился аварийно или потерял сеть, а база осталась «заблокированной». В файловом режиме блокировки хранятся в служебном файле 1Cv8.1CL рядом с файлом базы. После того как все пользователи точно вышли, а вход по-прежнему невозможен, проверьте, не остался ли зависший процесс 1cv8.exe на каком-либо компьютере сети — чаще всего причина именно в этом, а не в «защёлкнувшемся» файле блокировок.
Удалять файл 1Cv8.1CL вручную, пока кто-то реально работает с базой, нельзя: это создаёт риск рассогласования данных. Такой приём допустим только когда стопроцентно подтверждено, что активных процессов 1С в сети нет ни на одном компьютере.
Завершение процессов на сервере и со стороны СУБД
Когда консоль кластера недоступна или сам сервер 1С ведёт себя некорректно, остаётся уровень операционной системы. На сервере 1С работают процессы rphost (рабочие процессы кластера), ragent (агент сервера) и rmngr (менеджер кластера). Завершение отдельного rphost «убьёт» все сеансы, обслуживаемые этим процессом, — это грубый метод, применимый, когда завис весь рабочий процесс, а не один сеанс.
Определить, какой rphost обслуживает конкретный сеанс, можно в консоли кластера: в свойствах сеанса указан рабочий процесс. Если консоль не отвечает, ориентируйтесь по нагрузке: зависший в цикле процесс обычно потребляет заметную долю CPU или аномально много памяти.
Со стороны СУБД (MS SQL Server, PostgreSQL) зависшие запросы видны как активные сессии с длительным выполнением или как источники блокировок. Завершать их командой KILL следует только в крайнем случае: обрыв на уровне СУБД не согласуется с кластером 1С, и сеанс в консоли может остаться висеть до таймаута. Правильная последовательность — сначала удалить сеанс в консоли 1С, и только если соединение с СУБД не закрылось, завершать его на уровне СУБД.
-- MS SQL Server: найти долгие запросы из 1С
SELECT session_id, login_name, host_name, status, last_request_start_time
FROM sys.dm_exec_sessions
WHERE program_name LIKE '1C%' AND status = 'sleeping'
ORDER BY last_request_start_time;Профилактика: как не дать сеансам зависать массово
Разовое отключение решает симптом, но если зависшие сеансы появляются регулярно, нужно настраивать кластер. Ключевой механизм — таймауты кластера: параметры «Интервал перезапуска», «Допустимый объём памяти», «Выключенные процессы останавливать через» и другие в свойствах кластера и рабочих процессов позволяют автоматически перезапускать деградировавшие процессы.
Полезно настроить завершение неактивных сеансов: в свойствах информационной базы в консоли есть параметры «Сеанс простаивает» (sleep timeout) и «Завершать неактивные сеансы». Они позволяют автоматически разрывать соединения пользователей, которые забыли закрыть программу, и освобождать лицензии.
Также проверьте типовые причины массовых зависаний: нестабильная сеть между клиентами и сервером, антивирус, сканирующий каталоги сервера 1С и СУБД, недостаток оперативной памяти на сервере, длительные регламентные задания, пересекающиеся с рабочим временем. Устранение этих факторов снижает количество «залипших» сеансов радикальнее, чем любая процедура ручного отключения.
Проверка результата после отключения
После удаления сеанса обновите список в консоли кластера: сеанс должен исчезнуть, а количество занятых лицензий — уменьшиться. Попросите пользователя войти в базу заново: успешный вход подтверждает, что блокирующий фактор устранён.
Если пользователь жаловался на заблокированный объект (документ, элемент справочника), проверьте, что блокировка снята: попробуйте открыть и записать объект. Признаком неполного решения проблемы является ситуация, когда сеанс исчез, но блокировка осталась — тогда проверьте ветку «Соединения» и наличие других сеансов того же пользователя, например фоновых заданий.
Как проверить результат
Зависший сеанс отсутствует, счётчик лицензий уменьшился
Сеанс появляется снова — клиент переподключается или осталось фоновое задание
Пользователь входит и работает без ошибок
Ошибка «сеанс уже запущен» сохраняется — ищите второй сеанс или зависшее соединение
Документы и справочники открываются на редактирование
Объект по-прежнему заблокирован — проверьте соединения и фоновые задания
Часто задаваемые вопросы
Пользователь вышел из 1С, но сеанс в консоли остался. Это нормально?
Да, в течение короткого времени: кластер не разрывает соединение мгновенно, сеанс завершается по таймауту. Если сеанс висит дольше нескольких минут и не исчезает — его можно удалить вручную, это безопасно для уже закрытого клиента.
Чем отличается удаление сеанса от удаления соединения?
Сеанс — это логическая сессия пользователя с контекстом (права, параметры), соединение — физический канал между клиентом и рабочим процессом. Удаление соединения разрывает канал и влечёт завершение сеанса. Обычно работают именно с сеансами; соединения полезны, когда завис именно сетевой канал.
Можно ли отключить зависший сеанс без прав администратора кластера?
Через консоль кластера — нет, нужны права администратора кластера или информационной базы. Из режима «Предприятие» обработкой «Активные пользователи» могут завершать сеансы пользователи с правами администратора в самой базе. Обычный пользователь может завершить только свой сеанс, закрыв программу.
Потеряются ли данные пользователя при принудительном удалении сеанса?
Все несохранённые данные в открытых формах будут потеряны — как и при любом аварийном закрытии программы. Уже записанные в базу данные не пострадают, если сеанс действительно завис, а не выполнял транзакцию. Поэтому перед удалением стоит убедиться, что активность сеанса нулевая.
Как отключить зависший сеанс, если база в облачном сервисе?
В облачных сервисах (например, в арендованных базах 1С) доступа к консоли кластера у абонента обычно нет. Используйте обработку «Активные пользователи» внутри базы или личный кабинет сервиса, где часто есть функция завершения сеансов. Если сеанс не завершается штатными средствами — обращайтесь в поддержку сервиса.
Почему зависшие сеансы появляются каждый день в одно и то же время?
Регулярность указывает на системную причину: регламентное задание, обмен данными, резервное копирование СУБД, блокирующее запросы, или антивирусное сканирование по расписанию. Сопоставьте время появления зависаний с расписанием заданий в консоли и планировщике на сервере и разведите конфликтующие процессы по времени.
Что важно запомнить
Зависший сеанс в клиент-серверной 1С отключается через консоль кластера: «Сеансы» → выбор → «Удалить», предварительно убедившись по счётчикам активности, что сеанс не выполняет реальную операцию. В файловой базе завершается процесс 1cv8.exe на компьютере пользователя. После отключения проверьте вход пользователя и снятие блокировок, а для профилактики настройте таймауты кластера и разберитесь с системными причинами зависаний.