К статье
Практический материал

Администрирование · 11 мин

Как отключить всех пользователей от базы 1С

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

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

Главный принцип: правильное отключение — это не «убить процесс», а сначала заблокировать новые подключения, затем корректно завершить активные сеансы. Грубое прерывание (снятие процесса rphost, перезагрузка сервера) допустимо только в крайнем случае, потому что повышает риск повреждения данных и появления «битых» транзакций.

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

Определите режим работы базы: файловая или клиент-серверная

Прежде чем что-либо отключать, выясните, как опубликована база. Откройте список информационных баз в стартовом окне 1С: в строке подключения файловая база выглядит как путь к каталогу (например, \\server\base\), а клиент-серверная содержит имя сервера и имя базы в кластере. Эту же информацию видно в свойствах базы в консоли кластера.

От режима зависят доступные инструменты. В клиент-серверном варианте есть полноценное управление сеансами через консоль кластера и утилиту rac — можно удалить конкретный сеанс или все сразу. В файловом режиме централизованного списка сеансов нет: сеанс существует, пока открыт клиент у пользователя, и удалить его «извне» штатными средствами 1С нельзя.

Клиент-серверная база: отключение через консоль кластера

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

Чтобы выкинуть всех, выделите все сеансы (Ctrl+A), вызовите контекстное меню и выберите «Удалить». Сеансы завершатся принудительно: у пользователей клиентское приложение закроется с сообщением о разрыве соединения. Перед этим обязательно установите блокировку сеансов, иначе пользователи переподключатся в течение минуты, и работа пойдёт по кругу.

Отдельно проверьте вкладку «Соединения»: фоновые задания и соединения рабочих процессов могут держать базу даже при пустом списке сеансов. Завершённые вручную фоновые задания перезапустятся после снятия блокировки, если это регламентные задания.

Порядок действий в консоли кластера
  1. 1
    Откройте консоль администрирования серверов 1С и найдите нужную базу
  2. 2
    В свойствах базы включите блокировку начала сеансов, задайте время начала и сообщение для пользователей
  3. 3
    Перейдите на вкладку «Сеансы», выделите все сеансы и удалите их
  4. 4
    Проверьте вкладку «Соединения» — завершите оставшиеся фоновые задания
  5. 5
    Выполните обслуживание, затем снимите блокировку сеансов

Блокировка сеансов: как не пустить пользователей обратно

Блокировка — ключевой элемент всей операции. Без неё удалённые пользователи просто заходят снова, а регламентные задания продолжают стартовать по расписанию. В клиент-серверном режиме блокировка ставится в свойствах информационной базы в консоли кластера: флаг «Блокировка начала сеансов включена», дата и время начала, сообщение, которое увидит пользователь при попытке входа.

Полезные нюансы: параметр «Код разрешения» позволяет администратору войти в заблокированную базу, указав код в строке подключения через параметр /UC. Это нужно, чтобы самому выполнить обновление, не снимая блокировку для всех. Также можно задать время окончания блокировки — тогда она снимется автоматически, и вы не забудете открыть доступ.

В типовых конфигурациях на базе БСП есть штатный механизм «Блокировка работы пользователей» (раздел «Администрирование» → «Обслуживание»). Он удобен тем, что показывает активных пользователей, отправляет им предупреждение и плавно завершает их работу через заданный интервал.

Отключение через утилиту rac и командную строку

Для автоматизации и удалённого администрирования используется консольная утилита rac из состава сервера 1С. Она позволяет выполнить всё то же, что и консоль кластера, но скриптом — удобно для регламентного ночного обновления. Сначала получите идентификатор кластера и базы, затем установите блокировку и удалите сеансы.

bash
rac cluster list
rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --sessions-deny=on --denied-message="Идут регламентные работы"
rac session --cluster=<ID_кластера> list --infobase=<ID_базы>
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

Типовой сценарий скрипта: включить запрет сеансов, получить список сеансов базы, в цикле завершить каждый, подождать пару минут, проверить, что список пуст, и только потом запускать загрузку конфигурации или обновление. После завершения скрипт снимает блокировку параметром --sessions-deny=off.

Учтите ограничения: rac работает только с сервером администрирования (ras), который должен быть запущен, и требует учётные данные администратора кластера, если они заданы. Для файловых баз утилита бесполезна.

Файловая база: как выгнать пользователей

В файловом режиме нет кластера и списка сеансов, поэтому инструменты другие. Самый простой вариант — штатная блокировка через БСП: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Механизм покажет список работающих, отправит им сообщение и по таймеру попросит завершить работу. Пользователи, которые не вышли сами, будут отключены принудительно при достижении времени блокировки — клиенты закроются автоматически.

Если БСП в конфигурации нет, блокировку ставят программно: процедура УстановитьБлокировкуСеансов недоступна в чистом виде, но можно установить константу-флаг и проверять её при начале работы системы, либо использовать метод УстановитьМонопольныйРежим(Истина) — при успешной установке монопольного режима новые сеансы не стартуют, а активные мешают его включению, что сразу показывает, кто ещё в базе.

Грубый вариант — закрыть доступ на уровне сети: временно убрать общий доступ к папке с базой или переименовать файл 1Cv8.1CD. Это аварийная мера: у работающих пользователей клиент упадёт с ошибкой, а несохранённые данные пропадут. Применяйте только если штатные способы недоступны, и обязательно верните всё как было после обслуживания.

Сравнение способов отключения

Консоль кластера

Клиент-серверная база, разовые работы. Наглядно, но требует ручных действий и доступа к серверу

Утилита rac + скрипт

Клиент-серверная база, регулярные ночные обновления. Требует запущенного ras и отладки скрипта

Блокировка через БСП

Любой режим, если конфигурация на БСП. Самый безопасный: пользователи предупреждены, выходят сами

Монопольный режим

Файловая база без БСП. Быстро, но без предупреждения пользователей

Закрытие сетевого доступа

Аварийный случай. Риск потери несохранённых данных у пользователей

Аварийные ситуации: зависшие сеансы и грубое отключение

Зависший сеанс — тот, который числится активным, но пользователь давно вышел или клиент «умер». Такие сеансы держат блокировки и мешают обновлению. В консоли кластера они обычно видны по давнему времени бездействия: удаляйте их так же, как обычные, через «Удалить». Если сеанс не удаляется, помогает завершение соответствующего соединения на вкладке «Соединения».

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

Типичные ошибки
01
Удаление сеансов без блокировки — пользователи переподключаются, и обновление падает из-за занятой базы
02
Попытка управлять файловой базой через консоль кластера — база там просто не отображается
03
Забытые фоновые задания на вкладке «Соединения» — база формально пуста, но обновление не запускается
04
Снятие процесса rphost как первое действие — риск повреждения данных вместо штатного удаления сеансов
05
Забытая блокировка после работ — пользователи не могут войти утром, администратор узнаёт об этом от звонков

Проверка результата и возврат базы в работу

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

По окончании работ снимите блокировку: в консоли кластера снимите флаг блокировки сеансов, в БСП — отключите режим блокировки работы пользователей. Проверьте вход под тестовой учётной записью обычного пользователя, а не только под администратором: администратор мог входить по коду разрешения, и проблемы с доступом при этом не видны.

Контрольные точки

Как проверить результат

Список сеансов в консоли кластера
Норма

Сеансов нет или остались только ваши служебные

Тревожный признак

Появляются новые сеансы пользователей — блокировка не включена

Вкладка «Соединения»
Норма

Нет активных соединений с базой

Тревожный признак

Висят фоновые задания — завершите их или отключите регламентные задания

Вход обычного пользователя после снятия блокировки
Норма

База открывается штатно, без сообщения о блокировке

Тревожный признак

Сообщение о запрете сеансов — блокировка не снята или задано время окончания в будущем

Частые вопросы

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

Да. Консоль кластера можно установить на рабочую машину администратора и подключиться к серверу по сети. Альтернатива — утилита rac через удалённый доступ к серверу или штатная блокировка БСП прямо из клиента 1С, если у вас есть права администратора в самой базе.

Что увидят пользователи при принудительном удалении сеанса?

Клиентское приложение закроется с сообщением о разрыве соединения с сервером. Несохранённые данные (например, незаписанный документ) будут потеряны, поэтому перед массовым отключением стоит отправить предупреждение — через механизм БСП или текст в сообщении блокировки.

Как войти в базу, когда включена блокировка сеансов?

Используйте код разрешения, заданный при установке блокировки: добавьте в параметры запуска /UC код. В консоли кластера код задаётся в свойствах базы вместе с блокировкой. Пользователи с правами администрирования в БСП также могут входить в заблокированную базу штатно.

Почему после удаления всех сеансов обновление всё равно не запускается?

Чаще всего мешают фоновые задания или соединения, которые видны на вкладке «Соединения» консоли кластера. Отключите регламентные задания в свойствах базы или завершите соединения вручную, затем повторите попытку.

Опасно ли перезагружать сервер 1С для отключения пользователей?

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

Как автоматизировать отключение пользователей на ночь?

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

Итог

Что важно запомнить

Сначала блокировка новых сеансов, потом удаление активных — в обратном порядке пользователи переподключатся. Клиент-серверная база управляется через консоль кластера или rac, файловая — через БСП или монопольный режим. После работ снимите блокировку и проверьте вход обычным пользователем.