Необходимость экстренно завершить работу пользователей в информационной базе возникает у администраторов довольно часто. Это может потребоваться перед проведением регламентных работ, обновлением конфигурации или платформы, а также для устранения зависаний, блокирующих работу остальных сотрудников. Правильное выполнение этой процедуры критически важно для сохранения целостности данных и предотвращения ошибок в журнале регистрации.

Существует несколько уровней воздействия на активные сеансы: от мягкой блокировки на стороне клиента до жесткого разрыва соединения на уровне службы кластера серверов 1С. Выбор конкретного метода зависит от архитектуры вашей системы, типа лицензии и текущей ситуации. В этой статье мы детально разберем все доступные способы, их преимущества и риски, чтобы вы могли действовать максимально эффективно.

Подготовка к отключению пользователей

Прежде чем применять инструменты принудительного разрыва, администратор должен убедиться, что у него есть необходимые права доступа. Для выполнения операций по управлению сеансами обычно требуется роль Администратор или Полные права внутри самой базы данных. Если вы планируете работать через консоль администрирования кластера серверов 1С, потребуются права администратора ОС на сервере или специальные права в кластере.

Важно предупредить сотрудников о планируемых работах. Внезапное отключение может привести к потере незавершенных документов, которые пользователи не успели провести или записать. Оптимальная практика — разослать уведомление за 15-30 минут до начала работ. Это позволит пользователям корректно завершить свои транзакции и выйти из системы самостоятельно.

⚠️ Внимание: Принудительное завершение сеанса в момент записи документа или проведения сложной отчетной операции может привести к повреждению таблиц базы данных или появлению «битых» ссылок. Всегда старайтесь убедиться, что активные транзакции завершены.

Проверьте текущий список подключенных пользователей. В типовой конфигурации это можно сделать через меню Администрирование → Активные пользователи. Здесь вы увидите не только имена, но и время начала сеанса, а также выполняемые действия, что поможет принять взвешенное решение о том, кого отключать в первую очередь.

Отключение через интерфейс программы 1С

Самый простой и безопасный способ управления пользователями доступен непосредственно из окна работающей базы данных. Этот метод подходит для файловых вариантов баз и клиент-серверных систем, где у администратора есть права на управление сеансами. Интерфейс позволяет мягко завершить работу, давая системе время на корректное закрытие соединений.

Для доступа к списку сеансов перейдите в раздел НСИ и Администрирование или Администрирование, в зависимости от версии вашей конфигурации. Найдите пункт Активные пользователи. Откроется форма со списком всех текущих подключений. Вы можете выделить нужные строки и нажать кнопку Завершить сеанс.

💡

Используйте фильтр по колонке "Приложение", чтобы быстро найти пользователей, работающих в толстом клиенте, которые часто удерживают блокировки дольше остальных.

Система предложит подтвердить действие. После подтверждения 1С попытается корректно завершить фоновые задания и закрыть соединения. Однако, если пользователь выполняет длительную операцию, например, закрытие месяца или формирование сложного отчета, система может потребовать больше времени на завершение процесса.

  • 👤 Идентификатор: Уникальное имя пользователя в базе.
  • 🖥️ Компьютер: Имя рабочей станции, с которой установлено соединение.
  • ⏱️ Время сеанса: Длительность текущего подключения.
  • 📝 Основное действие: Текущая активность пользователя (например, "Редактирование документа").

Если стандартное завершение не срабатывает и сеанс остается в списке, возможно, процесс на клиентской машине завис. В таком случае потребуется более глубокий уровень вмешательства через серверные утилиты.

Управление сеансами в Консоли администрирования кластера

Для клиент-серверного варианта работы наиболее мощным инструментом является Консоль администрирования кластера серверов 1С:Предприятия. Этот инструмент позволяет управлять кластером на низком уровне, игнорируя ограничения интерфейса самой базы данных. Запуск консоли осуществляется от имени пользователя, имеющего права администратора кластера.

После запуска утилиты rasadmin.msc подключитесь к нужному кластеру. Раскройте дерево объектов до уровня Информационные базы. Выберите вашу базу, затем перейдите в раздел Сеансы. Здесь отображается исчерпывающая информация о всех активных подключениях, включая служебные сеансы фоновых заданий.

📊 Какой способ отключения вы используете чаще всего?
Через интерфейс 1С
Через консоль кластера
Перезагрузкой сервера
Блокировкой в конфигураторе

Для принудительного отключения выделите нужный сеанс, нажмите правую кнопку мыши и выберите пункт Удалить. Система мгновенно разорвет соединение. В отличие от интерфейса 1С, здесь нет предупреждений для пользователя — соединение обрывается немедленно.

⚠️ Внимание: Удаление сеанса через консоль кластера не отменяет транзакцию на уровне СУБД мгновенно. SQL-серверу может потребоваться время на откат изменений (rollback), что может временно нагрузить систему.

Также в консоли администратора можно заблокировать работу с информационной базой целиком. Для этого выберите саму базу в дереве, откройте её свойства и установите флаг Блокировка начала сеансов. Новые пользователи не смогут войти, а существующие будут отключены по завершении своих текущих действий или принудительно через удаление сеансов.

Блокировка пользователей через Конфигуратор

Режим Конфигуратор предоставляет еще один уровень контроля, особенно полезный при монопольном доступе. Этот метод часто используется перед обновлением конфигурации, когда требуется гарантировать, что никто не вмешается в процесс изменения структуры метаданных.

Запустите базу в режиме 1С:Предприятие 8 (Конфигуратор). В меню выберите Администрирование → Сеансы. Откроется окно, аналогичное тому, что есть в режиме предприятия, но с возможностью установки глобальной блокировки. Нажмите кнопку Блокировать работу пользователей.

Система предложит ввести текст сообщения, которое увидят пользователи при попытке входа. Это может быть информация о технических работах и примерное время восстановления работоспособности. После подтверждения все активные сеансы будут завершены, а вход новым пользователям запрещен.

Метод Уровень доступа Безопасность данных Скорость
Интерфейс 1С Пользовательский Высокая Средняя
Консоль кластера Серверный Средняя Высокая
Конфигуратор Монопольный Высокая Низкая
Командная строка Серверный Низкая Мгновенная

Использование конфигуратора гарантирует, что во время обновления никто не сможет случайно подключиться к базе. Это критически важно для сохранения целостности структуры базы данных при изменении конфигурации.

Что делать, если кнопка блокировки неактивна?

Если кнопка "Блокировать работу пользователей" неактивна, значит, в базе уже есть активные сеансы, которые удерживают монопольную блокировку. Вам нужно сначала завершить их через меню "Сеансы".

Автоматизация через командную строку и скрипты

Для системных администраторов, управляющих крупными инфраструктурами, ручное отключение пользователей может быть слишком трудоемким. В таких случаях на помощь приходят утилиты командной строки, такие как rmngr или rac. Они позволяют интегрировать процесс отключения в скрипты автоматического обслуживания.

Утилита rac (1C:Enterprise Remote Administration Console) является современным стандартом для управления кластером. С её помощью можно формировать сложные запросы на отключение. Пример команды для завершения всех сеансов конкретной базы:

rac session clear --cluster=UUID_кластера --infobase=UUID_базы --all

Использование таких команд удобно при настройке регламентных заданий в планировщике задач Windows или cron в Linux. Вы можете создать скрипт, который за 10 минут до начала резервного копирования автоматически блокирует базу и завершает сеансы.

  • 🚀 Автоматизация: Возможность встроить в цепочки DevOps.
  • 🔐 Безопасность: Требует хранения учетных данных в скрипте.
  • ⚙️ Гибкость: Можно отключать выборочно по имени пользователя или компьютеру.

При написании скриптов важно предусмотреть обработку ошибок. Если служба кластера недоступна, команда вернет код ошибки, который должен быть корректно обработан, чтобы не прервать весь процесс обслуживания сервера.

💡

Использование утилиты rac предпочтительнее старых методов через реестр или прямое завершение процессов, так как оно гарантирует корректное освобождение ресурсов кластера.

Решение проблем с зависшими сеансами

Иногда стандартные методы не работают. Пользователь может отображаться в списке, но не отключаться ни через консоль, ни через интерфейс. Обычно это признак того, что процесс rphost на сервере завис или потерял связь с клиентом, но не освободил ресурсы.

В таких случаях требуется диагностика на уровне операционной системы. Зайдите на сервер 1С и откройте Диспетчер задач. Найдите процессы rphost.exe. Если процесс потребляет 100% процессорного времени в течение длительного периода или использует аномально много памяти, его можно завершить принудительно.

⚠️ Внимание: Завершение процесса rphost.exe через Диспетчер задач — это крайняя мера. Это эквивалентно выдергиванию шнура питания для конкретного рабочего процесса. Данные в оперативной памяти этого процесса будут утеряны безвозвратно.

После принудительного завершения процесса служба кластера 1С обнаружит потерю рабочего процесса и автоматически перезапустит его. Сеанс в списке пользователей исчезнет, но в журнале регистрации появится запись о аварийном завершении. Обязательно проверьте журнал после таких действий.

Частой причиной зависаний являются блокировки на уровне СУБД (MS SQL или PostgreSQL). Если один пользователь заблокировал таблицу, а второй ждет снятия блокировки, может образоваться тупик (deadlock). В этом случае отключение одного из участников разблокирует систему.

☑️ Действия при зависании

Выполнено: 0 / 4

Частые вопросы администраторов (FAQ)

Можно ли отключить конкретного пользователя, не затрагивая остальных?

Да, это стандартная функция. В консоли администрирования кластера или в интерфейсе 1С вы можете выделить конкретную строку с именем нужного пользователя и завершить только этот сеанс. Остальные пользователи продолжат работу без перерывов.

Что произойдет с данными, если отключить пользователя во время проведения документа?

Система 1С использует механизм транзакций. Если соединение разорвано в момент проведения, СУБД выполнит откат (rollback) незавершенной транзакции. Документ не проведется, изменения в базах не сохранятся. Однако, если пользователь уже нажал "Записать и провести", но данные еще не закоммичены, может потребоваться ручная проверка целостности.

Как запретить вход пользователям на выходные дни автоматически?

Для этого можно использовать внешние обработки или регламентные задания, которые в определенное время (например, в пятницу в 18:00) устанавливают флаг блокировки начала сеансов. Снятие блокировки можно запланировать на понедельник утром.

Почему после отключения пользователя сеанс остается в списке?

Это может происходить из-за задержки обновления информации в консоли администрирования. Попробуйте обновить список (F5). Если сеанс persists долго, возможно, это служебный сеанс фоновой обработки или процесс "завис" на уровне ОС и требует перезапуска службы кластера.

Нужно ли перезагружать сервер после массового отключения пользователей?

В большинстве случаев перезагрузка сервера не требуется. Служба кластера 1С спроектирована так, чтобы корректно обрабатывать множественные подключения и отключения. Перезагрузка нужна только в случае критических сбоев службы или утечек памяти в процессах rphost.