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

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

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

Штатные средства администрирования в режиме предприятия

Самый безопасный и правильный способ разогнать пользователей — использование встроенного механизма администрирования. Для этого вам потребуется войти в базу под пользователем с полными правами, обычно это пользователь с ролью Полные права или Администратор системы. Если база работает в файловом варианте, функционал может быть ограничен по сравнению с SQL-версией, но базовые инструменты доступны.

Зайдите в меню Администрирование → Сервис → Активные пользователи. В открывшемся списке вы увидите всех, кто сейчас находится в системе, включая их компьютеры и время начала сеанса. Выделите нужные строки и нажмите кнопку Завершить сеанс. Система отправит сигнал клиентскому приложению с просьбой корректно завершить работу.

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

📊 Как чаще всего приходится освобождать базу 1С?
Штатное завершение сеансов
Перезагрузка сервера
Удаление файлов блокировок
Жду пока сами выйдут

Механизм файловых блокировок и расширение.lgc

Чтобы понять, как правильно выбросить пользователей, нужно разобраться в том, как 1С хранит информацию о захвате базы. В файловом варианте за это отвечают файлы с расширением .lgc (lock file). Эти файлы создаются автоматически при начале работы первого пользователя и удаляются, когда из базы выходят все.

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

⚠️ Внимание: Никогда не удаляйте файлы .lgc, пока вы не убедились, что процессы 1c.exe или 1cv8.exe действительно не запущены на рабочих местах. Удаление активного лок-файла приведет к повреждению данных и ошибке «База данных заблокирована другим пользователем» при следующей попытке записи.

Расположение этих файлов зависит от версии платформы и типа подключения. Обычно они находятся в той же директории, где лежит файл базы 1Cv8.1CD, либо в системной папке профиля пользователя, если используется терминальный сервер. Понимание этой структуры критически важно для ручного администрирования.

💡

Перед удалением любых системных файлов 1С сделайте резервную копию всей папки с базой данных. Это займет пару минут, но спасет от катастрофы в случае ошибки.

Ручное удаление файлов блокировок через проводник

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

Зайдите в каталог с базой данных на сервере или общей папке. Включите отображение скрытых файлов, так как некоторые служебные файлы могут иметь соответствующий атрибут. Найдите файл 1Cv8.1CD.lgc или файлы с именами вида 1Cv8UID.lgc. Именно они сигнализируют платформе о занятости базы.

Попытайтесь удалить эти файлы. Если система пишет, что файл занят другим процессом, значит, где-то все еще запущен сеанс 1С, который держит этот файл открытым. Вам придется найти этот компьютер через сеть или использовать утилиты для разблокировки файлов, например, Unlocker или LockHunter, хотя их использование на сервере требует осторожности.

Тип файла Назначение Можно ли удалять?
1Cv8.1CD Основной файл данных Категорически нет
1Cv8.1CD.lgc Файл глобальной блокировки Только если нет сеансов
1Cv8UID.lgc Файл блокировки пользователя Только если нет сеансов
1Cv8.tmp Временный файл Опасно, может идти запись

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

Использование консоли администрирования серверов 1С

Если ваша база работает в клиент-серверном варианте (на платформе 1С:Предприятие 8.3 с сервером PostgreSQL или MS SQL), ситуация кардинально меняется. Здесь файлы.lgc не используются в том же виде, а управление сеансами осуществляется через центральный сервис — Агент сервера 1С.

Запустите консоль администрирования серверов 1С (ras или MMC-снапшот). Разверните дерево кластеров, найдите нужный информационный базу и перейдите в раздел Сеансы. Здесь отображается детальная информация о каждом подключении: пользователь, компьютер, приложение иduration сеанса.

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

Почему сеанс не удаляется из консоли?

Иногда сеанс висит в статусе "Завершается" долгое время. Это означает, что на стороне клиента процесс не реагирует на разрыв. В таком случае поможет только перезапуск службы агента сервера 1С или перезагрузка самого сервера 1С.

Для автоматизации процесса можно использовать консольную утилиту rmngr или rac. Например, команда для завершения всех сеансов конкретной базы выглядит сложно, но она позволяет скриптовать процесс обслуживания. Это особенно удобно при обновлении конфигурации в ночное время.

Запуск базы в монопольном режиме

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

Чтобы запустить базу в монопольном режиме, используйте ключ командной строки /F или соответствующий флажок в окне запуска. Команда будет выглядеть примерно так:

"C:\Program Files\1cv8\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\Base1" /N "Admin" /P "Password" /Execute "Обработка.МояОбработка"

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

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

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

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

Альтернативный подход — использование PowerShell скриптов для мониторинга процессов. Скрипт может проверять наличие процессов 1cv8.exe на терминальном сервере и завершать те, которые висят дольше определенного лимита времени. Это помогает бороться с «зомби»-процессами, которые не освобождают ресурсы.

  • 🔍 Используйте WMI-запросы в PowerShell для получения списка процессов 1С по имени пользователя.
  • ⚙️ Настройте задачу в Планировщике на запуск очистки каждые 15 минут в нерабочее время.
  • 📝 Ведите лог действий скрипта, чтобы понимать, кого и когда вы принудительно завершали.

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

💡

Автоматизация процесса освобождения базы возможна, но требует тщательного тестирования сценариев отказа, чтобы скрипт не «положил» работу всего отдела в разгар дня.

Частые ошибки и профилактика зависаний

Одной из самых распространенных причин невозможности выбросить пользователей является некорректная работа сетевого оборудования. Если связь между клиентом и сервером файлов нестабильна, 1С может не получить сигнал о разрыве соединения и продолжать считать сеанс активным бесконечно долго.

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

Для профилактики рекомендуется:

  • 🛡️ Добавить папки с базами 1С в исключения антивируса.
  • 🌐 Проверить стабильность сетевого соединения и настройки SMB протокола.
  • 💾 Регулярно выполнять тестирование и исправление базы для устранения внутренних логических ошибок блокировок.

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

Что делать, если файл.lgc не удаляется и пишет «файл занят»?

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

Можно ли удалить файл 1Cv8.1CD.lgc, если база серверная (SQL)?

Нет. В клиент-серверном варианте (SQL) механизм блокировок реализован внутри СУБД и сервиса 1С. Файлы.lgc в корневой папке базы данных обычно отсутствуют или не играют решающей роли. Управлять сеансами нужно только через консоль администрирования серверов 1С или запросами к таблице блокировок в SQL (что не рекомендуется новичкам).

Как узнать, кто именно держит базу, если в списке пользователей пусто?

Если в списке активных пользователей 1С пусто, но база занята, скорее всего, сеанс «призрачный» (зависший процесс). В файловом варианте это видно по наличию файла.lgc. В серверном варианте проверьте логи сервера 1С (файлы.log в папке логов кластера), там будет указан ID процесса и IP-адрес клиента, который некорректно разорвал соединение.

Безопасно ли завершать сеансы через консоль администрирования во время работы?

Это небезопасно для данных конкретного пользователя. При принудительном завершении все несохраненные документы этого пользователя будут потеряны, а транзакция откатится. Делайте это только в крайних случаях (зависание, обновление конфигурации) и желательно в нерабочее время или после предупреждения в корпоративном чате.