Администрирование · 11 мин
Как отключить всех пользователей от базы 1С
Как выкинуть всех пользователей из базы 1С: консоль сервера, консольные команды, режим блокировки, файловая база. Пошаговые инструкции, риски и проверка результата.
Отключить всех пользователей от информационной базы 1С требуется перед обновлением конфигурации, восстановлением из архива, запуском тестирования и исправления или при аварийной ситуации, когда зависший сеанс блокирует работу всей базы. Способ зависит от режима работы: файловая база и клиент-серверный вариант управляются по-разному, и перепутать их — одна из самых частых ошибок администраторов.
Главный принцип: правильное отключение — это не «убить процесс», а сначала заблокировать новые подключения, затем корректно завершить активные сеансы. Грубое прерывание (снятие процесса rphost, перезагрузка сервера) допустимо только в крайнем случае, потому что повышает риск повреждения данных и появления «битых» транзакций.
Ниже разобраны все рабочие методы: консоль кластера серверов 1С, утилита rac, программная блокировка через функциональность БСП, отключение в файловом режиме и аварийные варианты. Для каждого указаны условия применения, точные действия и способ проверить, что база действительно освобождена.
Определите режим работы базы: файловая или клиент-серверная
Прежде чем что-либо отключать, выясните, как опубликована база. Откройте список информационных баз в стартовом окне 1С: в строке подключения файловая база выглядит как путь к каталогу (например, \\server\base\), а клиент-серверная содержит имя сервера и имя базы в кластере. Эту же информацию видно в свойствах базы в консоли кластера.
От режима зависят доступные инструменты. В клиент-серверном варианте есть полноценное управление сеансами через консоль кластера и утилиту rac — можно удалить конкретный сеанс или все сразу. В файловом режиме централизованного списка сеансов нет: сеанс существует, пока открыт клиент у пользователя, и удалить его «извне» штатными средствами 1С нельзя.
Клиент-серверная база: отключение через консоль кластера
Это основной способ для серверных баз. Откройте консоль «Администрирование серверов 1С:Предприятия» на сервере или на машине, где установлена компонента администрирования. Раскройте кластер, найдите нужную информационную базу и перейдите на вкладку «Сеансы». Здесь видны все активные подключения с указанием пользователя, компьютера и времени начала.
Чтобы выкинуть всех, выделите все сеансы (Ctrl+A), вызовите контекстное меню и выберите «Удалить». Сеансы завершатся принудительно: у пользователей клиентское приложение закроется с сообщением о разрыве соединения. Перед этим обязательно установите блокировку сеансов, иначе пользователи переподключатся в течение минуты, и работа пойдёт по кругу.
Отдельно проверьте вкладку «Соединения»: фоновые задания и соединения рабочих процессов могут держать базу даже при пустом списке сеансов. Завершённые вручную фоновые задания перезапустятся после снятия блокировки, если это регламентные задания.
- 1Откройте консоль администрирования серверов 1С и найдите нужную базу
- 2В свойствах базы включите блокировку начала сеансов, задайте время начала и сообщение для пользователей
- 3Перейдите на вкладку «Сеансы», выделите все сеансы и удалите их
- 4Проверьте вкладку «Соединения» — завершите оставшиеся фоновые задания
- 5Выполните обслуживание, затем снимите блокировку сеансов
Блокировка сеансов: как не пустить пользователей обратно
Блокировка — ключевой элемент всей операции. Без неё удалённые пользователи просто заходят снова, а регламентные задания продолжают стартовать по расписанию. В клиент-серверном режиме блокировка ставится в свойствах информационной базы в консоли кластера: флаг «Блокировка начала сеансов включена», дата и время начала, сообщение, которое увидит пользователь при попытке входа.
Полезные нюансы: параметр «Код разрешения» позволяет администратору войти в заблокированную базу, указав код в строке подключения через параметр /UC. Это нужно, чтобы самому выполнить обновление, не снимая блокировку для всех. Также можно задать время окончания блокировки — тогда она снимется автоматически, и вы не забудете открыть доступ.
В типовых конфигурациях на базе БСП есть штатный механизм «Блокировка работы пользователей» (раздел «Администрирование» → «Обслуживание»). Он удобен тем, что показывает активных пользователей, отправляет им предупреждение и плавно завершает их работу через заданный интервал.
Отключение через утилиту rac и командную строку
Для автоматизации и удалённого администрирования используется консольная утилита rac из состава сервера 1С. Она позволяет выполнить всё то же, что и консоль кластера, но скриптом — удобно для регламентного ночного обновления. Сначала получите идентификатор кластера и базы, затем установите блокировку и удалите сеансы.
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. Это аварийная мера: у работающих пользователей клиент упадёт с ошибкой, а несохранённые данные пропадут. Применяйте только если штатные способы недоступны, и обязательно верните всё как было после обслуживания.
Сравнение способов отключения
Клиент-серверная база, разовые работы. Наглядно, но требует ручных действий и доступа к серверу
Клиент-серверная база, регулярные ночные обновления. Требует запущенного ras и отладки скрипта
Любой режим, если конфигурация на БСП. Самый безопасный: пользователи предупреждены, выходят сами
Файловая база без БСП. Быстро, но без предупреждения пользователей
Аварийный случай. Риск потери несохранённых данных у пользователей
Аварийные ситуации: зависшие сеансы и грубое отключение
Зависший сеанс — тот, который числится активным, но пользователь давно вышел или клиент «умер». Такие сеансы держат блокировки и мешают обновлению. В консоли кластера они обычно видны по давнему времени бездействия: удаляйте их так же, как обычные, через «Удалить». Если сеанс не удаляется, помогает завершение соответствующего соединения на вкладке «Соединения».
Крайняя мера — перезапуск службы агента сервера 1С или завершение рабочих процессов rphost. Это мгновенно обрывает все сеансы кластера, но все незавершённые транзакции откатятся, а в редких случаях возможны ошибки целостности. После такого вмешательства имеет смысл запустить тестирование и исправление базы или хотя бы проверить журнал регистрации на ошибки.
Проверка результата и возврат базы в работу
После отключения убедитесь, что база действительно свободна. В консоли кластера список сеансов по базе должен быть пуст, на вкладке «Соединения» не должно быть активных соединений, кроме служебных. В файловой базе признак свободной базы — отсутствие файлов блокировок рядом с 1Cv8.1CD и успешная установка монопольного режима.
По окончании работ снимите блокировку: в консоли кластера снимите флаг блокировки сеансов, в БСП — отключите режим блокировки работы пользователей. Проверьте вход под тестовой учётной записью обычного пользователя, а не только под администратором: администратор мог входить по коду разрешения, и проблемы с доступом при этом не видны.
Как проверить результат
Сеансов нет или остались только ваши служебные
Появляются новые сеансы пользователей — блокировка не включена
Нет активных соединений с базой
Висят фоновые задания — завершите их или отключите регламентные задания
База открывается штатно, без сообщения о блокировке
Сообщение о запрете сеансов — блокировка не снята или задано время окончания в будущем
Частые вопросы
Можно ли отключить пользователей, не заходя на сервер?
Да. Консоль кластера можно установить на рабочую машину администратора и подключиться к серверу по сети. Альтернатива — утилита rac через удалённый доступ к серверу или штатная блокировка БСП прямо из клиента 1С, если у вас есть права администратора в самой базе.
Что увидят пользователи при принудительном удалении сеанса?
Клиентское приложение закроется с сообщением о разрыве соединения с сервером. Несохранённые данные (например, незаписанный документ) будут потеряны, поэтому перед массовым отключением стоит отправить предупреждение — через механизм БСП или текст в сообщении блокировки.
Как войти в базу, когда включена блокировка сеансов?
Используйте код разрешения, заданный при установке блокировки: добавьте в параметры запуска /UC код. В консоли кластера код задаётся в свойствах базы вместе с блокировкой. Пользователи с правами администрирования в БСП также могут входить в заблокированную базу штатно.
Почему после удаления всех сеансов обновление всё равно не запускается?
Чаще всего мешают фоновые задания или соединения, которые видны на вкладке «Соединения» консоли кластера. Отключите регламентные задания в свойствах базы или завершите соединения вручную, затем повторите попытку.
Опасно ли перезагружать сервер 1С для отключения пользователей?
Это аварийная мера. Перезапуск службы агента обрывает все сеансы кластера без сохранения данных и отката незавершённых транзакций. Используйте только когда штатное удаление сеансов не работает, и после этого проверьте базу на ошибки.
Как автоматизировать отключение пользователей на ночь?
Напишите скрипт на rac: включение блокировки, завершение всех сеансов в цикле, пауза, обновление, снятие блокировки. Поставьте скрипт в планировщик заданий на время, когда пользователей нет. Обязательно добавьте в скрипт проверку пустого списка сеансов перед обновлением.
Что важно запомнить
Сначала блокировка новых сеансов, потом удаление активных — в обратном порядке пользователи переподключатся. Клиент-серверная база управляется через консоль кластера или rac, файловая — через БСП или монопольный режим. После работ снимите блокировку и проверьте вход обычным пользователем.