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

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

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

Как выбросить всех пользователей из базы 1С: через консоль кластера, конфигуратор, блокировку сеансов и внешнюю обработку. Риски, проверка результата, типичные ошибки.

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

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

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

Как понять, кто сейчас работает в базе

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

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

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

Видны активные сеансы в консолиБаза клиент-серверная

Можно завершать сеансы штатно через консоль кластера

Есть файл 1Cv8.1CL в каталоге базыФайловая база занята

Кто-то подключён; штатного списка сеансов нет

Сеанс помечен как спящийПользователь неактивен

Такие сеансы можно завершать первыми, риск минимален

В сеансе идёт фоновое заданиеВыполняется регламентная операция

Проверьте, что за задание, перед отключением

Способ 1. Завершение сеансов через консоль кластера

Это основной и самый управляемый метод для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С:Предприятия» на сервере или на компьютере администратора, найдите нужную информационную базу и перейдите на вкладку «Сеансы». Выделите все сеансы (Ctrl+A), щёлкните правой кнопкой и выберите «Удалить» — сеансы будут принудительно завершены.

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

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

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

Способ 2. Блокировка сеансов в свойствах базы

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

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

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

Способ 3. Блокировка работы пользователей через БСП

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

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

Зато этот способ идеален для плановых обновлений: пользователи получают сообщение, сохраняют данные и выходят сами, без риска оборванных транзакций. Для входа администратора в период блокировки используется тот же параметр /UC с кодом разрешения.

Способ 4. Файловая база: что делать, когда консоли нет

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

Второй — попросить всех выйти и проверить, что файл 1Cv8.1CL в каталоге базы исчез или перестал расти. Если кто-то не выходит или его компьютер завис, можно завершить процесс 1cv8.exe на его машине через диспетчер задач или удалённо. На терминальном сервере завершите сессию пользователя целиком.

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

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

Способ 5. Автоматизация через пакетный режим и внешние обработки

Для регулярных регламентных операций удобно автоматизировать блокировку. Конфигуратор поддерживает пакетный запуск с параметром /DisableStartupDialogs и выполнением внешней обработки, которая устанавливает блокировку сеансов программно. В клиент-серверном варианте можно управлять кластером через утилиту RAC: она позволяет из командной строки получить список сеансов, завершить их и включить блокировку.

bash
rac session terminate --cluster=<ID_кластера> --session=<ID_сеанса>

Скрипт на RAC обычно строится так: сначала запрашивается список сеансов нужной базы, затем каждый сеанс завершается, после чего устанавливается блокировка соединений с кодом разрешения. Такой сценарий удобно запускать по расписанию перед ночным обновлением или резервным копированием средствами СУБД.

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

Как проверить, что база действительно свободна

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

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

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

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

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

Пуст или только ваш сеанс администратора

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

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

Файл 1Cv8.1CL в каталоге файловой базы
Норма

Файл отсутствует после выхода всех пользователей

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

Файл есть, кто-то ещё подключён или завис процесс

Установка монопольного режима
Норма

Режим устанавливается без ошибок

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

Ошибка о занятости базы — остались активные подключения

Блокировка после окончания работ
Норма

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

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

Пользователи видят сообщение о блокировке утром

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

Пользователи подключаются снова сразу после завершения сеансов. Что делать?

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

Можно ли выгнать всех из файловой базы удалённо?

Штатного инструмента для принудительного отключения в файловом режиме нет. Варианты: блокировка работы пользователей через БСП с предупреждением, завершение процессов 1cv8.exe на компьютерах пользователей (в том числе удалённо через диспетчер задач сервера терминалов) или временное ограничение доступа к сетевой папке после того, как все вышли.

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

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

Я установил блокировку и забыл код разрешения. Как войти?

В клиент-серверном варианте откройте свойства базы в консоли кластера — там можно посмотреть или изменить код блокировки и снять её вовсе. Для файловой базы блокировка БСП снимается изменением константы через конфигуратор или запуском с параметром /UC, если код всё же найдётся; иначе потребуется правка данных через конфигуратор.

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

Да. В консоли кластера на вкладке «Сеансы» выделите только нужные строки (с Ctrl — несколько) и удалите их. В списке видно имя пользователя, компьютер и время начала сеанса, поэтому выборочное отключение не представляет сложности.

Безопасно ли перезапускать службу сервера 1С, чтобы всех отключить?

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

Итог

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

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