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

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

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

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

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

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

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

Когда принудительное завершение сеансов оправдано

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

Отдельный случай — «зомби-сеансы»: пользователь закрыл программу некорректно или потерял соединение, а сеанс на сервере остался активным. Такой сеанс занимает лицензию и может удерживать управляемые блокировки. Его завершение безопасно, потому что реальной работы в нём уже нет.

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

Завершение сеансов в клиент-серверной базе через консоль кластера

Основной инструмент администратора серверной 1С — консоль кластера. Откройте «Администрирование серверов 1С Предприятия» (оснастка устанавливается вместе с сервером 1С), разверните нужный кластер, затем рабочий сервер и найдите ветку «Сеансы». Здесь видны все активные сеансы с указанием пользователя, приложения, времени начала и текущей активности.

Чтобы завершить сеанс, выделите его в списке и выберите в контекстном меню «Удалить». Можно выделить несколько сеансов с зажатой клавишей Ctrl или Shift и удалить их пакетно. Обратите внимание на колонку «Спящий сеанс» и время последней активности — это помогает отличить реально работающих пользователей от зависших подключений.

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

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

Альтернатива: утилита rac из командной строки

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

bash
rac session --cluster=<ID_кластера> list --infobase=<ID_базы>
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

Как выбить пользователей из файловой базы

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

Если доступа внутрь базы нет, а выгнать пользователей нужно, действуют «внешние» методы. При сетевом доступе к файловой базе сеансы держат открытые сетевые подключения к файлу 1Cv8.1CD. Перезапуск общего доступа к папке (снятие и возврат шары) или перезапуск сервера, где лежит файл, разорвёт все соединения. Это грубый метод: у пользователей, которые в этот момент записывали данные, возможны ошибки и, в худшем случае, повреждение файла базы.

Более цивилизованный путь для файловых баз — типовой механизм «Блокировка работы пользователей» из Библиотеки стандартных подсистем. Он не только завершает активные сеансы, но и запрещает новые входы на заданный период, а пользователям заранее показывает предупреждение.

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

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

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

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

Маршрут решения

Как выбрать действие

Нужно обновить конфигурацию серверной базыУстановите блокировку сеансов в консоли кластера, дождитесь выхода пользователей, остальных завершите удалением сеансов
Файловая база, есть права администратораВключите «Блокировку работы пользователей» и завершите сеансы через «Активные пользователи»
Висят зомби-сеансы, держат лицензииЗавершите только эти сеансы через консоль кластера, блокировка не обязательна
Нет доступа к консоли и в базу, файл на сетевой папкеПерезапустите общий доступ к папке, предварительно сделав резервную копию

Программное завершение сеансов и зависшие соединения

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

Отдельная тема — зависшие соединения на уровне СУБД. После удаления сеанса в консоли кластера соединение с MS SQL Server или PostgreSQL иногда остаётся в состоянии sleeping и продолжает держать блокировки. Если после выбивания пользователей обновление всё равно не стартует из-за блокировок, проверьте активные процессы на стороне СУБД и при необходимости завершите их штатными средствами СУБД.

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

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

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

Сеансов с пользователями нет, остался только ваш

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

Сеансы появляются снова — не установлена блокировка соединений

Блокировка начала сеансов
Норма

Флаг включён, задан период и код разрешения

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

Блокировка не стоит, пользователи заходят обратно

Процессы на стороне СУБД
Норма

Нет sleeping-соединений с блокировками от 1С

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

Остались зависшие соединения — завершите их средствами СУБД

Монопольный режим / обновление конфигурации
Норма

Обновление запускается без ошибки занятости

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

Ошибка «база занята» — ищите оставшийся сеанс или фоновое задание

Типичные ошибки администраторов

Первая ошибка — завершение сеансов без предупреждения в разгар рабочего дня. Последствия предсказуемы: потерянные документы, недовольные пользователи и возможные нарушения целостности данных при прерывании транзакций. Даже срочное обслуживание стоит начинать с рассылки предупреждения хотя бы за 10–15 минут.

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

Типичные ошибки
01
Выбили сеансы, но не поставили блокировку — пользователи вошли обратно, обновление сорвано
02
Завершили сеанс во время проведения документов — данные остались в несогласованном состоянии
03
Забыли про регламентные задания — монопольный доступ не получить
04
Обрыв сетевого доступа к файловой базе без резервной копии — риск повреждения файла 1Cv8.1CD
05
Забыли снять блокировку после работ — утром пользователи не могут войти

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

FAQ: частые вопросы о завершении сеансов в 1С

Можно ли выбить пользователей из базы, если я не администратор?

Нет. Завершение чужих сеансов требует прав администратора информационной базы или администратора кластера. Обычный пользователь может завершить только свой собственный сеанс — просто закрыв программу.

Потеряются ли данные пользователя при принудительном завершении сеанса?

Всё, что не было записано в базу (незаписанные документы, открытые формы с введёнными данными), будет потеряно. Записанные данные не пострадают, но прерывание сеанса в момент транзакции (проведение, обмен) может оставить данные в несогласованном состоянии.

Пользователей выбил, а обновление всё равно пишет, что база занята. Что делать?

Проверьте три места: список сеансов в консоли кластера (мог остаться фоновый сеанс), запущенные регламентные задания и соединения на стороне СУБД. Также убедитесь, что сами не держите второй сеанс — например, открытый конфигуратор и предприятие одновременно.

Как выбить пользователей из файловой базы, если она лежит на сетевом диске и войти в неё нельзя?

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

Что такое код разрешения при блокировке соединений?

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

Как автоматически выбивать сеансы по расписанию, например каждую ночь?

Используйте утилиту rac из состава сервера 1С: напишите скрипт, который получает список сеансов базы и завершает их, и запускайте его планировщиком задач Windows. Перед завершением сеансов в скрипте логично устанавливать блокировку соединений, а после обслуживания — снимать её.

Итог

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

Правильная последовательность: предупредить пользователей → установить блокировку соединений → дождаться штатного выхода → завершить оставшиеся сеансы в консоли кластера или через «Активные пользователи» → выполнить работы → снять блокировку и проверить вход. Не забывайте про фоновые задания и соединения на стороне СУБД.