Администрирование · 11 мин
Как сбросить зависший сеанс в 1С
Как завершить зависший сеанс 1С через консоль кластера, конфигуратор и диспетчер задач. Способы сброса сеансов в файловом и клиент-серверном режиме, риски и проверка результата.
Зависший сеанс 1С — ситуация, знакомая каждому администратору: пользователь давно вышел из программы, но сеанс продолжает числиться активным, держит блокировки и не даёт другим работать с базой. Особенно остро проблема проявляется при монопольных операциях — обновлении конфигурации, восстановлении последовательности или проведении документов, когда система сообщает, что базу занимают другие пользователи.
Причины зависания обычно просты: аварийное закрытие клиента, обрыв сети, «засыпание» ноутбука во время работы, сбой терминального сервера или долго выполняющийся запрос, который пользователь не дождался. В файловом режиме сеанс может «повиснуть» из-за устаревших данных о соединениях, в клиент-серверном — из-за рассинхронизации между агентом сервера 1С и СУБД.
Способ сброса зависит от режима работы базы и от того, есть ли у вас права администратора. Ниже разобраны все рабочие методы: от штатной консоли кластера до принудительного завершения процессов, с указанием рисков и способов проверки результата.
Как понять, что сеанс действительно завис
Прежде чем что-то сбрасывать, убедитесь, что сеанс не выполняет полезную работу. Долгое проведение большого документа, регламентное задание или загрузка данных внешне выглядят так же, как зависание, но их принудительное прерывание может оставить базу в несогласованном состоянии.
Характерные признаки зависшего сеанса: пользователь подтверждает, что программа у него закрыта, но в списке активных сеансов он присутствует; время бездействия сеанса исчисляется часами; попытка монопольного доступа сообщает о занятости базы именно этим пользователем; на компьютере пользователя нет процесса 1cv8.exe, а сеанс в консоли есть.
Проверить на ПК пользователя отсутствие процесса 1cv8.exe
Уточнить у пользователя, что он запускал; посмотреть длительность вызова СУБД
Открыть список сеансов и найти, кто блокирует
Проверить список фоновых заданий перед удалением
Где посмотреть список активных сеансов
В клиент-серверном варианте основной инструмент — консоль кластера серверов 1С. Откройте оснастку «Администрирование серверов 1С Предприятия», разверните нужный кластер, затем ветку «Сеансы». Здесь видны все подключения: пользователь, компьютер, время начала, режим работы (толстый, тонкий, веб-клиент, фоновое задание) и время последнего обращения.
В файловом режиме консоли кластера нет. Список активных пользователей доступен из самой программы: в типовых конфигурациях это раздел «Администрирование» → «Обслуживание» → «Активные пользователи». Также в конфигураторе доступен пункт меню «Администрирование» → «Активные пользователи», но он показывает только подключения и не всегда позволяет их завершить.
Дополнительно полезно смотреть журнал регистрации: по событиям подключения и отключения сеансов можно понять, когда пользователь реально прекратил работу, и сопоставить это с текущим списком сеансов.
Сброс сеанса через консоль кластера серверов
Это штатный и самый безопасный способ для клиент-серверного режима. Найдите в ветке «Сеансы» нужную строку — ориентируйтесь на имя пользователя, компьютер и время начала. Щёлкните по сеансу правой кнопкой мыши и выберите «Удалить», либо нажмите клавишу Delete. Кластер завершит сеанс и освободит занятые им ресурсы и блокировки.
Если зависших сеансов много, можно выделить несколько строк с зажатой клавишей Ctrl и удалить их пакетно. Перед массовым удалением отфильтруйте список, чтобы случайно не завершить сеансы работающих пользователей — они об этом узнают по внезапному закрытию программы.
- 1Откройте оснастку «Администрирование серверов 1С Предприятия»
- 2Разверните кластер и перейдите в ветку «Сеансы»
- 3Найдите зависший сеанс по пользователю, компьютеру и времени начала
- 4Убедитесь, что у пользователя программа закрыта
- 5Щёлкните правой кнопкой и выберите «Удалить»
- 6Проверьте, что сеанс исчез из списка, а блокировки сняты
Сброс сеанса в файловом режиме
В файловой базе нет сервера приложений, поэтому зависание обычно связано с самим клиентским процессом или с устаревшей информацией о соединениях. Первый шаг — на компьютере пользователя открыть диспетчер задач (Ctrl+Shift+Esc), найти процесс 1cv8.exe и завершить его, если программа внешне закрыта, а процесс остался.
Если база опубликована на веб-сервере или находится в общей сетевой папке, а сведения о соединениях устарели, помогает перезапуск службы веб-сервера (IIS или Apache) на том компьютере, где опубликована база. После перезапуска «призрачные» соединения сбрасываются.
В крайнем случае, когда базу держит непонятный сеанс и никого из пользователей в ней нет, проверьте, не открыт ли файл базы (1Cv8.1CD) каким-либо процессом. Утилиты просмотра открытых файлов на сервере покажут, кто держит дескриптор. Закрывать файл принудительно стоит только после того, как вы убедились, что реальной работы с базой нет.
Принудительные методы: завершение процессов и перезапуск служб
Если консоль кластера недоступна или удаление сеанса не помогает, используют более жёсткие методы. На сервере 1С можно перезапустить службу «Агент сервера 1С:Предприятия» — это разорвёт все соединения кластера. Способ радикальный: пострадают все пользователи всех баз данного кластера, поэтому применяйте его только в нерабочее время или при массовом сбое.
На стороне СУБД зависшие соединения видны в списке процессов SQL Server, PostgreSQL или другой используемой базы. Завершать сессии на уровне СУБД следует в последнюю очередь и только тем, кто понимает последствия: кластер 1С может некорректно отреагировать на внешнее завершение своих соединений.
Как выбрать действие
Проверка результата и типичные ошибки
После сброса сеанса обязательно проверьте результат. Сеанс должен исчезнуть из списка в консоли кластера или из списка активных пользователей. Попробуйте выполнить операцию, которая раньше блокировалась: установить монопольный режим, запустить обновление конфигурации. Если операция по-прежнему недоступна — значит, базу держит другой сеанс, который вы не заметили, либо остались незавершённые соединения на уровне СУБД.
Как проверить результат
Зависшего сеанса нет в списке
Сеанс появился снова или не удалился
Устанавливается без ошибок
Сообщение о занятости базы другими пользователями
Пользователь входит в базу нормально
Ошибки при входе, сообщения о повреждении данных
Долгих блокировок нет
Висят старые сессии и блокировки в СУБД
Как предотвратить появление зависших сеансов
В свойствах информационной базы в консоли кластера есть параметры, управляющие временем жизни сеансов: «Интервал перезапуска», «Допустимый объём памяти», а также тайм-ауты завершения сеансов. Настройка автоматического завершения неактивных сеансов избавляет от рутинной ручной чистки. В типовых конфигурациях дополнительно есть настройка завершения работы пользователей по расписанию через механизм блокировки сеансов.
Полезно настроить регламентный перезапуск рабочих процессов кластера — это снижает накопление «забытых» соединений и утечек памяти. На стороне пользователей помогает простая дисциплина: закрывать программу, а не сворачивать её на ночь, и не разрывать VPN или RDP-сессию, не выйдя из 1С.
Что важно запомнить
Сначала убедитесь, что сеанс завис, а не выполняет работу. В клиент-серверном режиме сбрасывайте сеанс через консоль кластера, в файловом — завершайте процесс на компьютере пользователя или перезапускайте веб-сервер. После сброса проверяйте монопольный доступ и список сеансов. Для профилактики настройте автоматическое завершение неактивных сеансов.
Частые вопросы
Что будет с данными пользователя, если принудительно удалить его сеанс?
Все несохранённые данные, с которыми пользователь работал в открытых формах, будут потеряны. Записанные в базу объекты не пострадают, если транзакция была завершена. Если сеанс прервали в момент записи, транзакция откатится, и база останется в целостном состоянии, но сама операция не выполнится.
Сеанс появляется снова сразу после удаления. Что делать?
Это означает, что клиентское приложение пользователя продолжает работать и автоматически переподключается. Проверьте компьютер пользователя: закройте там программу или завершите процесс 1cv8.exe. Также такое поведение бывает у фоновых заданий и регламентных операций, которые перезапускаются по расписанию.
Можно ли сбросить сеанс без прав администратора кластера?
Нет. Удаление сеансов в консоли кластера требует прав администратора кластера или информационной базы. Обычный пользователь может завершить только свой сеанс — штатным выходом из программы. В типовых конфигурациях пользователи с ролью администратора могут завершать сеансы других через обработку «Активные пользователи».
Опасно ли перезапускать агент сервера 1С?
Сама операция безопасна для данных, если в момент перезапуска никто не записывает информацию в базу. Однако все активные соединения разрываются, и пользователи потеряют несохранённую работу. Поэтому перезапуск планируют на нерабочее время и предупреждают сотрудников заранее.
Почему монопольный режим не устанавливается, хотя сеансов в списке нет?
Возможные причины: остались соединения на уровне СУБД, которые кластер ещё не освободил; базу держит открытый конфигуратор; работает фоновое задание. Проверьте ветку «Соединения» в консоли кластера — она показывает подключения к базе, которых может не быть в списке сеансов.
Как автоматически завершать сеансы, неактивные длительное время?
В свойствах информационной базы в консоли кластера задайте параметры завершения неактивных сеансов по тайм-ауту. В типовых конфигурациях также доступна настройка завершения работы пользователей по расписанию через механизм блокировки сеансов в разделе администрирования.