В администрировании информационных систем на базе платформы 1С:Предприятие рано или поздно возникает ситуация, требующая немедленного завершения всех активных сеансов работы. Чаще всего это необходимо перед проведением регламентных работ, обновлением конфигурации или восстановлением данных после сбоя. Администратор должен действовать быстро и решительно, так как любой лишний пользователь может заблокировать процесс обновления или повредить целостность базы данных. Операция принудительного разрыва соединений является стандартной процедурой, но требует четкого понимания архитектуры вашей системы — работаете ли вы в файловом варианте или используете клиент-серверную архитектуру с SQL Server.
Некорректное завершение работы пользователей может привести к тому, что транзакции останутся незавершенными, а данные — заблокированными. Поэтому перед тем как применить радикальные меры, важно убедиться в наличии актуальной резервной копии. В этой статье мы детально разберем все легитимные способы сброса сеансов, начиная от штатных средств платформы и заканчивая администрированием на уровне сервера приложений. Вы узнаете, как использовать консоль администрирования, утилиты командной строки и даже методы прямого воздействия на процессы операционной системы в крайних случаях.
Штатные средства платформы 1С для завершения сеансов
Самый безопасный и предпочтительный способ разорвать соединения с информационной базой — использование встроенных механизмов самой платформы 1С:Предприятие. Этот метод гарантирует корректное завершение транзакций и освобождение блокировок на уровне СУБД. Если у вас есть доступ к базе в монопольном режиме или права администратора, вы можете воспользоваться списком активных сеансов. В интерфейсе «1С:Предприятие» перейдите в меню Администрирование, затем выберите пункт Активные пользователи. Здесь отображается полная таблица текущих подключений с информацией о пользователе, компьютере и времени начала сеанса.
Для массового отключения выделите всех пользователей в списке, удерживая клавишу Ctrl или Shift, и нажмите кнопку Завершить сеанс (или используйте контекстное меню правой кнопкой мыши). Система предложит подтвердить действие, так как это приведет к потере несохраненных данных у принудительно отключенных сотрудников. В некоторых версиях платформы доступна функция «Заблокировать новых пользователей», которая предотвращает повторное подключение людей сразу после их выброса. Это критически важно при обновлении, чтобы никто не успел зайти в систему в промежуток между отключением и началом установки обновления.
Однако этот метод имеет существенный недостаток: он работает только если вы сами можете зайти в базу. Если база уже заблокирована другим процессом или зависла, интерфейс может быть недоступен. В таких ситуациях приходится обращаться к внешним инструментам управления. Также стоит помнить, что в толстом клиенте список сеансов может обновляться с задержкой, поэтому после команды на завершение стоит подождать несколько секунд перед повторной проверкой списка.
⚠️ Внимание: Принудительное завершение сеанса через интерфейс 1С не всегда мгновенно освобождает ресурсы на сервере баз данных. В редких случаях «висячие» процессы могут сохраняться в памяти СУБД еще несколько минут.
Перед массовым отключением пользователей отправьте корпоративное сообщение с предупреждением о технических работах, чтобы сотрудники успели сохранить свои документы.
Управление сеансами через Консоль администрирования серверов 1С
Для клиент-серверного варианта работы (когда база данных размещена на MS SQL или PostgreSQL, а доступ осуществляется через сервер 1С) основным инструментом является Консоль администрирования серверов 1С:Предприятия (rras). Это мощный инструмент, позволяющий управлять кластером серверов без необходимости входа в саму базу данных. Запустите консоль (обычно находится в меню Пуск в группе программ 1С), раскройте дерево кластера и найдите нужную информационную базу в списке.
В свойствах информационной базы вы найдете вкладку или раздел «Сеансы». Здесь отображаются все активные подключения в реальном времени. Вы можете выбрать конкретный сеанс или группу сеансов и выполнить команду «Завершить». Преимущество этого метода в том, что он работает даже если сама база данных «лежит» или интерфейс 1С недоступен. Консоль общается непосредственно с процессом ragent, который управляет кластером. Это позволяет «выкинуть» пользователей, даже если они зависли на этапе выполнения тяжелого запроса.
Также в консоли администрирования можно установить лимиты на количество одновременных подключений или вовсе запретить подключение к конкретной базе, изменив её свойства. Установив флаг запрета подключения, вы гарантируете, что после разрыва текущих сессий новые пользователи не смогут войти до тех пор, пока вы не снимете ограничение. Это идеальный сценарий для проведения ночных регламентных работ или обновления типовой конфигурации.
- 🖥️ Запуск консоли требует прав локального администратора на сервере 1С или прав на управление кластером.
- 🔄 Изменения в консоли применяются практически мгновенно, но отображение списка сеансов может требовать обновления (F5).
- 🔒 Блокировка через свойства базы в консоли надежнее, чем простое завершение сеансов, так как предотвращает повторный вход.
Отключение пользователей в файловом режиме работы
В файловом варианте работы, когда база данных представляет собой набор файлов в общей сетевой папке, механизмы управления сеансами отличаются от клиент-серверных. Здесь нет центрального сервера приложений ragent, который мог бы разорвать соединение по команде. Управление блокировками осуществляется через специальные файлы-маркеры, создаваемые в каталоге базы данных. Ключевым файлом здесь является 1Cv8.1CD.lock (или аналогичный в зависимости от версии), который сигнализирует о монопольном захвате базы.
Чтобы отключить всех пользователей в файловом режиме, администратору часто приходится действовать «варварскими», но эффективными методами. Самый распространенный способ — переименование или удаление файла блокировки сеансов, если он остался висеть после аварийного завершения работы одного из клиентов. Однако, просто удалив файл, вы не закроете активные процессы 1С на компьютерах пользователей. Для гарантированного отключения необходимо завершить процессы 1cv8.exe или 1cv8c.exe на рабочих местах пользователей, что возможно только при наличии прав администратора в домене или через системы удаленного управления (например, RDP или SCCM).
Альтернативный метод для файловых баз — установка запрета на запуск через файл конфигурации или изменение прав доступа к папке с базой данных на время проведения работ. Вы можете временно убрать права на чтение/запись для группы пользователей в свойствах сетевой папки. При попытке подключения 1С выдаст ошибку доступа, и пользователи не смогут начать новый сеанс. После завершения работ права необходимо вернуть. Этот метод требует осторожности, чтобы не заблокировать доступ к другим важным файлам в той же директории.
⚠️ Внимание: Никогда не удаляйте файлы с расширением .1CD или .DT в папке файловой базы вручную — это приведет к полной потере данных. Удаляйте только файлы блокировок (.lock), если уверены, что они «зависли».
☑️ Подготовка к отключению в файловом режиме
Использование утилиты rac для автоматизации процесса
Для системных администраторов, предпочитающих командную строку и скрипты, компания 1С предоставляет утилиту rac (Remote Administration Console). Она позволяет выполнять все операции консоли администрирования в автоматическом режиме, что идеально подходит для написания скриптов обслуживания. С помощью rac можно получить список сеансов, завершить их и даже заблокировать базу без использования графического интерфейса. Это особенно удобно при настройке задач в планировщике заданий Windows.
Синтаксис команды для завершения всех сеансов конкретной базы выглядит следующим образом. Сначала необходимо авторизоваться в кластере, а затем выполнить команду очистки. Ниже приведен пример команды, которая завершает все сеансы для базы с указанным UUID. Обратите внимание, что для работы утилиты необходимо знать имя кластера и идентификатор информационной базы, которые можно получить через команду infobase summary.
rac session clear --cluster=имя_сервера:порт --base=uuid_базы --user=админ --password=пароль
Использование rac дает возможность интегрировать процесс отключения пользователей в общую цепочку скриптов обновления. Например, вы можете создать BAT-файл, который сначала останавливает службу 1С, затем очищает сеансы через rac (на случай если служба еще жива), делает бэкап SQL, обновляет конфигурацию и запускает службу обратно. Такой подход минимизирует человеческий фактор и сокращает время простоя системы.
Где найти UUID базы?
Идентификатор базы (UUID) можно посмотреть в консоли администрирования в свойствах базы или получить командой rac infobase summary --cluster=... В выводе он будет указан в колонке UUID.
Принудительное завершение процессов на уровне ОС и SQL
В экстренных ситуациях, когда штатные средства 1С не отвечают, а пользователи «висят» в базе мертвым грузом, приходится прибегать к методам операционного уровня. На сервере 1С можно завершить процесс rmngr (менеджер соединений) или rphost (процесс рабочего сервера), отвечающий за работу конкретной базы. Делать это нужно через Диспетчер задач или утилиту taskkill. Убийство процесса rmngr приведет к разрыву всех соединений с кластером, но сам сервис 1С может попытаться перезапустить его автоматически.
Если проблема кроется на уровне СУБД (например, транзакция заблокировала таблицы и не отпускает их), администратор базы данных может использовать команды SQL для завершения сессий. В MS SQL Server это делается через системное хранимое процедуру sp_who2 для поиска ID сессии (SPID) и команды KILL для её завершения. В PostgreSQL аналогом является функция pg_terminate_backend(pid). Этот метод требует высокой квалификации, так как неправильное завершение процесса СУБД может привести к откату больших транзакций и временному падению производительности сервера.
Ниже приведена таблица соответствия процессов и действий для различных уровней архитектуры:
| Уровень | Процесс / Объект | Действие | Риск |
|---|---|---|---|
| Клиент | 1cv8.exe / 1cv8c.exe | Завершение задачи | Потеря данных на клиенте |
| Сервер 1С | rmngr.exe | Остановка службы или процесса | Разрыв всех соединений кластера |
| Сервер 1С | rphost.exe | Завершение процесса | Сброс конкретной базы |
| СУБД | SPID (SQL) / PID (PG) | KILL / terminate | Откат транзакций, нагрузка на диск |
Блокировка доступа на время обновления и регламентных работ
После того как все пользователи отключены, критически важно не позволить им подключиться снова до завершения ваших работ. В клиент-серверном варианте это делается через установку флага «Запрет подключения» в свойствах базы в консоли администрирования. В файловом варианте можно создать пустой файл с именем 1Cv8.1CD.lock (в некоторых версиях 1Cv8Tmp.1CD) и установить на него атрибут «Только чтение», хотя этот метод менее надежен. Самый надежный способ для файловой базы — временное изменение прав доступа NTFS на папку с базой, оставив доступ только для учетной записи администратора.
При обновлении конфигурации в режиме «Конфигуратор» система автоматически запросит монопольный режим. Если в базе останутся активные пользователи, обновление не начнется. Поэтому последовательность действий должна быть строгой: 1) Предупреждение пользователей; 2) Завершение сеансов; 3) Блокировка новых подключений; 4) Вход в монопольном режиме; 5) Обновление. Нарушение этой последовательности может привести к тому, что пока вы обновляете базу, один из пользователей успеет зайти и заблокировать файлы конфигурации.
Не забывайте, что в распределенных информационных базах (РИБ) отключение пользователей центральной базы не отключает их в узлах. Если у вас настроена синхронизация, необходимо останавливать обмен данными и отключать пользователей во всех узлах распределенной системы по очереди, начиная с периферийных узлов и заканчивая центральным.
⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С (8.2, 8.3, 8.3.20+) и типа запускаемого приложения (Тонкий клиент, Толстый клиент, Веб-клиент). Всегда сверяйтесь с документацией к вашей конкретной версии.
Золотое правило администратора: всегда делайте полную резервную копию базы данных (файловую или дамп SQL) перед любым принудительным разрывом соединений или обновлением.
Часто задаваемые вопросы (FAQ)
Что будет с данными, если я принудительно отключу пользователя во время проведения документа?
При принудительном разрыве сеанса платформа 1С попытается откатить незавершенную транзакцию. Это означает, что документ, который пользователь проводил в этот момент, скорее всего, не будет записан в базу, и система вернется к состоянию до начала проведения. Однако в редких случаях при сбоях диска или СУБД возможна частичная запись или повреждение таблиц блокировок, поэтому наличие бэкапа обязательно.
Можно ли отключить конкретного пользователя, не трогая остальных?
Да, это возможно. В списке активных сеансов (как в интерфейсе 1С, так и в Консоли администрирования) можно выделить конкретную строку с именем пользователя или компьютера и завершить только этот сеанс. Это полезно, если один пользователь «повесил» базу тяжелым отчетом, а остальные работают нормально.
Почему после отключения пользователей база все еще говорит, что она занята?
Это может происходить по двум причинам. Первая: процессы на сервере или клиенте еще не успели полностью освободить ресурсы (нужно подождать 1-5 минут). Вторая: остались «висячие» блокировки на уровне СУБД или файлы блокировок в файловой версии. В этом случае может потребоваться перезапуск службы сервера 1С или ручное удаление файлов .lock.
Как отключить пользователей в облачной версии 1С:Фреш?
В облачном сервисе 1С:Фреш у вас нет доступа к серверу и консоли администрирования. Отключение пользователей производится только через интерфейс самой базы (список сеансов), если у вас есть права администратора. Если база зависла на стороне провайдера, необходимо обращаться в техническую поддержку сервиса.