Администрирование системы 1С:Предприятие требует постоянного контроля за тем, кто и когда подключается к информационной базе. Знание того, как в 1С увидеть всех пользователей, является критически важным навыком для системного администратора, особенно в моменты проведения регламентных работ или при возникновении ошибок блокировки данных. Без четкого понимания текущей сессионной активности невозможно эффективно управлять производительностью системы.
Существует несколько методов получения списка активных сеансов, начиная от встроенных средств платформы до прямых запросов к базе данных. Выбор конкретного способа зависит от режима работы (файловый или клиент-серверный), прав доступа администратора и целей мониторинга. В этой статье мы детально разберем каждый из доступных инструментов, чтобы вы могли выбрать наиболее подходящий для вашей ситуации.
Стандартный отчет «Сеансы» в режиме Предприятия
Самым простым и доступным способом увидеть список подключенных специалистов является использование встроенного отчета «Сеансы». Этот инструмент доступен пользователю с полными правами или ролью «Администратор» прямо из интерфейса программы. Для запуска необходимо перейти в меню Администрирование → Обслуживание → Активные пользователи (путь может незначительно отличаться в зависимости от конфигурации).
Отчет предоставляет не просто список фамилий, но и детальную техническую информацию о каждом подключении. Вы увидите имя компьютера, с которого выполнен вход, время начала сеанса и текущее приложение (толстый или тонкий клиент). Важно отметить, что в файловом варианте базы данных этот отчет показывает только тех, кто открыл базу в данный момент, тогда как в клиент-серверном варианте он отображает все активные сессии на сервере 1С.
Интерфейс отчета позволяет выполнять базовые действия с сессиями. Администратор может завершить работу любого пользователя, выбрав его строку и нажав соответствующую кнопку. Это часто необходимо перед обновлением конфигурации или проведением ночного расчета закрытия месяца. Однако использовать эту функцию следует с осторожностью, чтобы не прервать критические транзакции.
Если вы видите пользователя, который числится в системе, но фактически не работает (зависший сеанс), принудительное завершение его сессии через этот отчет — самый быстрый способ освободить лицензию.
Консоль администратора сервера 1С:Предприятие
Для глубокого анализа в клиент-серверном варианте работы используется отдельный инструмент — Консоль администратора сервера 1С:Предприятие (ras). Это мощная утилита, которая работает независимо от запущенной базы данных и позволяет управлять кластером серверов в целом. Запустить её можно через стандартное меню Windows: Пуск → Все программы → 1С Предприятие → Администрирование серверов 1С Предприятия.
В левой части окна консоли необходимо раскрыть дерево кластеров, выбрать нужный кластер и перейти в раздел «Информационные базы». При выборе конкретной базы в правой части отобразится список всех активных соединений. Здесь информация более детальная: видно ID процесса, имя хоста, PID рабочего процесса и количество занятой памяти.
⚠️ Внимание: Если вы работаете в распределенном кластере с несколькими рабочими серверами, убедитесь, что вы просматриваете список сеансов именно на том сервере, где развернута нужная информационная база, иначе список может оказаться пустым.
Использование консоли администратора дает возможность не только просматривать, но и гибко настраивать параметры сессий. Например, можно ограничить время жизни сеанса или задать лимиты на использование ресурсов для конкретных пользователей. Это незаменимый инструмент для оптимизации работы сервера под высокой нагрузкой.
Анализ через Журнал регистрации событий
Когда требуется не просто увидеть текущих пользователей, а восстановить историю их входов и выходов за определенный период, на помощь приходит Журнал регистрации. Этот механизм протоколирует все значимые события в системе, включая начало и завершение сеансов. Доступ к журналу осуществляется через меню Администрирование → Журнал регистрации.
Для эффективного поиска необходимо настроить отбор. В поле «Событие» следует выбрать значение Сеанс, а затем конкретное действие, например, Начало сеанса. После этого можно отфильтровать данные по диапазону дат. В результате вы получите табличный список всех входов в систему с привязкой к конкретным учетным записям пользователей.
Журнал регистрации также хранит информацию о причинах завершения сеансов. Это позволяет проводить расследования инцидентов: было ли завершение штатным, произошло ли аварийное отключение или сессия была убита администратором. Данные в журнале могут храниться длительное время, в зависимости от настроек регламентных заданий по очистке.
Где физически хранится журнал регистрации?
В файловом варианте базы журнал хранится в файле 1Cv8Log внутри каталога базы. В клиент-серверном варианте записи пишутся в специальный системный журнал на сервере 1С, который можно выгружать в файлы или просматривать через консоль администратора в разделе «Журналы».
Просмотр пользователей через SQL-запросы
Для администраторов баз данных (DBA), работающих с Microsoft SQL Server или PostgreSQL, наиболее полным источником информации является прямое обращение к системным таблицам СУБД. Этот метод позволяет увидеть сессии даже в тех случаях, когда платформа 1С не отвечает или интерфейс заблокирован.
В MS SQL Server информация об активных процессах содержится в системном представлении sysprocesses или sys.dm_exec_sessions. Команда sp_who2 также может предоставить сводную информацию. Однако, чтобы точно идентифицировать процессы именно 1С, необходимо искать по имени приложения или специфическим параметрам соединения.
SELECT spid, loginame, hostname, program_name, status
FROM sys.sysprocesses
WHERE program_name LIKE'1C%'
ORDER BY spid;
Использование SQL-запросов дает доступ к метрикам, недоступным внутри 1С: потреблению CPU, объему используемой оперативной памяти и деталям блокировок на уровне страниц базы данных. Это «тяжелая артиллерия» для диагностики проблем производительности.
| Поле в SQL | Описание | Значение для 1С |
|---|---|---|
| program_name | Имя приложения | 1C:Enterprise или 1CV8C |
| loginame | Пользователь БД | Пользователь 1С или Service |
| hostname | Имя компьютера | Имя рабочей станции клиента |
| status | Статус процесса | sleeping, running, runnable |
Прямой SQL-запрос — единственный способ увидеть «призрачные» сессии, которые зависли на уровне СУБД, но не отображаются в интерфейсе 1С.
Отличия списков в файловом и клиент-серверном режиме
Понимание архитектуры работы 1С критически важно для правильной интерпретации списков пользователей. В файловом варианте базы данных (.1CD) механизм блокировок и сессий реализован иначе, чем в клиент-серверном. Здесь нет выделенного сервера приложений, и каждый клиент подключается к файлу напрямую.
В файловом режиме понятие «сеанс» более локально. Если вы откроете отчет «Сеансы» в файловой базе, вы увидите только тех пользователей, которые подключились к этому конкретному файлу в монопольном или разделяемом режиме. Скрытые фоновые процессы здесь встречаются реже, но возможны при использовании внешних обработок.
В клиент-серверном варианте картина сложнее. Пользователь подключается к серверу 1С, а тот, в свою очередь, держит пул соединений к СУБД. Поэтому один пользователь 1С может порождать несколько процессов в операционной системе сервера. Кроме того, в списке могут присутствовать технологические пользователи, обслуживающие фоновые задания.
⚠️ Внимание: В файловом варианте базы невозможно увидеть пользователей, подключенных к базе в режиме «Конфигуратор», если вы сами работаете в режиме «Предприятие». Список будет неполным.
Проблема «зависших» и фоновых пользователей
Частая проблема при администрировании — наличие в списке пользователей, которые фактически не работают, но занимают лицензии и блокируют объекты. Это так называемые зависшие сессии. Они могут возникать из-за обрыва сетевого соединения, аварийного закрытия клиента или зависания самого процесса rphost.
Кроме явных пользователей, в системе могут работать фоновые обработки. Это могут быть регламентные задания, обмен данными через Enterprise Data или синхронизация с другими системами. В отчете «Сеансы» такие процессы часто отображаются под системным пользователем или именем службы.
Для борьбы с зависшими сессиями в 1С существует механизм «Монитор блокировок». Он позволяет visualizarь цепочки блокировок и находить (источник) проблемы. Если пользователь удерживает блокировку слишком долго, система может автоматически завершить его сеанс, если настроены соответствующие параметры безопасности.
☑️ Диагностика зависшего пользователя
Часто задаваемые вопросы (FAQ)
Почему в отчете «Сеансы» я вижу себя несколько раз?
Это нормальная ситуация. Каждый открытый окнo программы, каждая фоновая задача или подключение через COM-соединение могут регистрироваться как отдельный сеанс в рамках одной учетной записи. Также это может происходить, если у вас открыты разные базы данных в одном окне запуска.
Можно ли увидеть пароль пользователя в списке сеансов?
Нет, в целях безопасности ни один стандартный инструмент 1С:Предприятие не отображает пароли пользователей в открытом виде. В журналах и отчетах видны только имена учетных записей и технические параметры подключения.
Как узнать, кто удалил важный документ, если пользователя уже нет в списке?
Если пользователь уже завершил сеанс, в отчете «Сеансы» его не будет. Необходимо использовать Журнал регистрации, отфильтровав события по типу «Изменение данных» или «Удаление» за интересующий период времени. Там будет зафиксирован пользователь, выполнивший действие.
Влияет ли просмотр списка пользователей на производительность базы?
Сам по себе отчет «Сеансы» потребляет минимальное количество ресурсов. Однако частый опрос системных таблиц через тяжелые SQL-запросы или постоянный мониторинг через консоль администратора на нагруженных серверах может создавать дополнительную нагрузку на процессор.