Ситуация, когда необходимо срочно выгнать всех пользователей из базы данных 1С, знакома каждому системному администратору. Чаще всего это требуется при проведении регламентных работ, обновлении конфигурации или перемещении файлов базы на другой сервер. В отличие от клиент-серверного варианта, где управление сеансами централизовано через консоль администрирования серверов, файловая архитектура имеет свои уникальные особенности.
Главная сложность заключается в том, что при работе с файловой базой информация о активных пользователях хранится локально в папке с данными. Если один из пользователей «завис» или некорректно завершил работу, система может считать его сеанс активным бесконечно долго. Это блокирует монопольный режим, необходимый для многих административных операций. Понимание механизма блокировок в 1С является ключом к решению проблемы.
В данной статье мы подробно разберем легальные и «аварийные» методы освобождения базы от пользователей. Мы рассмотрим штатные средства платформы, ручное удаление файлов блокировок и методы предотвращения повторного входа во время технических работ. Будьте внимательны, так как некорректные действия могут привести к повреждению данных.
Штатное завершение сеансов через интерфейс 1С
Самый безопасный и правильный способ освободить базу — воспользоваться встроенными средствами платформы. Для этого вам потребуются права администратора системы. Зайдите в базу в режиме Конфигуратор или в режиме Предприятия с полными правами. В меню выберите пункт «Администрирование» и перейдите в «Сеансы».
Откроется список всех активных подключений. Здесь вы увидите информацию о пользователе, компьютере, с которого выполнен вход, и времени начала сеанса. Вы можете выделить конкретные записи или выбрать все сразу, нажав кнопку «Завершить». Система отправит запрос на клиентское приложение с просьбой завершить работу.
Однако этот метод имеет ограничения. Если компьютер пользователя выключен, сеть оборвана или процесс 1cv8.exe завис, штатное завершение не сработает. Сеанс останется висеть в списке как активный, хотя физически соединения уже нет. В таких случаях требуется более глубокое вмешательство.
⚠️ Внимание: Перед массовым завершением сеансов убедитесь, что пользователи сохранили свои документы. Принудительный разрыв может привести к потере несохраненных данных в оперативной памяти клиента.
Механизм блокировок в файловой базе
Чтобы эффективно управлять пользователями, необходимо понимать, где 1С хранит информацию о занятости базы. В корневой папке файловой базы (там, где лежит файл 1Cv8.1CD) существует специальная служебная папка 1Cv8Log и файлы блокировок. Именно наличие этих файлов сигнализирует платформе о том, что база занята.
Ключевым элементом является файл 1Cv8CD.lck (или просто 1Cv8Lock в старых версиях). Пока этот файл существует и открыт каким-либо процессом, 1С считает, что в базе идут активные сеансы. Удаление этого файла при работающих пользователях приведет к ошибкам у них на экранах, но также может разблокировать базу для администратора.
Кроме того, в папке 1Cv8Log хранятся журналы регистрации и временные файлы сеансов. Иногда очистка этой папки от старых логов помогает ускорить работу, но удалять файлы оттуда во время работы пользователей категорически нельзя. Это может нарушить целостность журнала регистрации.
Технические детали файлов блокировки
Файл блокировки создается в момент подключения первого пользователя и удаляется только после завершения последнего сеанса. Если процесс 1С завершился аварийно (по питанию или ошибке), файл может остаться висеть в системе, блокируя вход в монопольном режиме.
Ручное удаление файлов блокировок
Если штатные методы не помогли и сеансы висят «мертво», приходится прибегать к ручному удалению файлов. Этот метод требует особой осторожности. Перед началом операции убедитесь, что вы физически отключили пользователей от сети или они гарантированно не работают с базой в данный момент.
Закройте все окна 1С на своем компьютере. Перейдите в папку с базой данных через проводник Windows. Включите отображение скрытых файлов, если они не видны. Найдите файл 1Cv8CD.lck и удалите его. Если система пишет, что файл занят, значит, какой-то процесс все еще держит базу.
В этом случае откройте Диспетчер задач Windows. Найдите процессы с именем 1cv8.exe или 1cv8c.exe. Завершите все процессы, связанные с 1С, не только у текущего пользователя, но и во вкладке «Подробности» для всех пользователей (требуется права админа). После этого файл блокировки должен удалиться без проблем.
☑️ Аварийная очистка блокировок
Блокировка новых подключений на время работ
Просто выгнать пользователей недостаточно, так как они могут сразу же зайти снова, пока вы проводите настройку. Необходимо установить временный запрет на вход. В файловом варианте это реализуется через создание специального файла-флага или настройку прав доступа к папке.
Самый простой способ — создать в корневой папке базы текстовый файл с именем 1Cv8TmpFiles.lck (в некоторых версиях работает механизм блокировки через права). Однако более надежный метод — временное изменение прав NTFS на папку с базой. Заберите права на чтение и выполнение для группы пользователей, оставив их только для администраторов.
Также можно воспользоваться режимом блокировки сеансов, если он предусмотрен вашей конфигурацией. В типовых конфигурациях есть обработка «Блокировка работы пользователей». Запустите её, установите галочку «Заблокировать работу» и введите сообщение, которое увидят пользователи при попытке входа.
⚠️ Внимание: При изменении прав доступа к папке убедитесь, что учетная запись, под которой запускается 1С у пользователей, действительно попадет под ограничение. Проверка прав должна проводиться до начала работ.
Используйте сетевой экран или отключение сетевого адаптера на сервере (если база сетевая) как крайнюю меру изоляции, если программные методы блокировки входа не срабатывают.
Автоматизация процесса через командную строку
Для системных администраторов, управляющих множеством баз, ручное удаление файлов может стать рутиной. Процесс можно автоматизировать с помощью BAT-скриптов или PowerShell. Скрипт может принудительно завершать процессы и очищать файлы блокировок в указанной директории.
Ниже приведен пример простой команды для завершения процессов 1С и удаления файла блокировки. Используйте этот код с осторожностью, подставив актуальный путь к вашей базе.
taskkill /F /IM 1cv8.exe
taskkill /F /IM 1cv8c.exe
del "Z:\Base1C\1Cv8CD.lck" /Q
Запуск таких скриптов лучше планировать на время, когда нагрузка на базу минимальна, например, в обеденный перерыв или после окончания рабочего дня. Автоматизация снижает риск человеческой ошибки, но требует предварительного тестирования на тестовой копии базы.
Автоматизация через скрипты эффективна только при стабильной структуре путей и имен процессов. При обновлении платформы 1С имена исполняемых файлов могут измениться.
Таблица сравнения методов разрыва сеансов
Выбор метода зависит от конкретной ситуации: есть ли доступ к серверу, работают ли пользователи физически или удаленно, и насколько критична целостность данных в момент разрыва.
| Метод | Безопасность данных | Скорость | Необходимые права |
|---|---|---|---|
| Через список сеансов 1С | Высокая (корректное закрытие) | Средняя | Администратор 1С |
| Удаление файла .lck | Низкая (риск повреждения при записи) | Мгновенная | Администратор ОС |
| Завершение процесса 1cv8.exe | Средняя (потеря несохраненных данных) | Быстрая | Администратор ОС |
| Блокировка прав NTFS | Высокая (предотвращает вход) | Средняя | Владелец папки |
Как видно из таблицы, штатные средства всегда в приоритете. Ручное вмешательство в файловую систему оправдано только в экстренных случаях, когда штатные механизмы не отвечают.
Частые ошибки и вопросы (FAQ)
Что делать, если файл 1Cv8CD.lck не удаляется, написав «Файл занят»?
Это означает, что процесс 1С все еще активен в операционной системе, даже если окно программы закрыто. Откройте Диспетчер задач, найдите все процессы 1cv8.exe и завершите их принудительно. Только после этого файл разблокируется и позволит удаление.
Можно ли удалять файлы из папки 1Cv8Log во время работы?
Нет, это категорически запрещено. В этой папке хранятся активные сегменты журнала регистрации. Удаление файлов приведет к потере истории действий и возможным ошибкам при попытке 1С записать новый лог. Удалять можно только архивные логи, если они выгружены отдельно.
Почему после удаления блокировок 1С пишет «База повреждена»?
Если вы удалили файл блокировки в момент, когда пользователь реально работал и записывал данные, транзакция могла прерваться на полуслове. Это приводит к рассинхронизации файлов базы. Необходимо запустить проверку и исправление базы (chdbfl.exe) или восстановить из резервной копии.
Как выгнать пользователей, если я не помню пароль администратора 1С?
В файловой базе права хранятся внутри файла конфигурации базы данных. Если у вас есть права администратора на уровне операционной системы (доступ к папке), вы можете удалить файл блокировок и зайти под встроенным администратором, если он не заблокирован, или использовать утилиты сброса прав, хотя это менее безопасный путь.
Влияет ли антивирус на процесс разрыва сеансов?
Да, иногда антивирус блокирует удаление файлов .lck, считая их подозрительными, или сканирует папку базы в реальном времени, удерживая файлы открытыми. На время административных работ рекомендуется добавить папку базы 1С в исключения антивируса.
⚠️ Внимание: Интерфейс и названия файлов могут незначительно отличаться в зависимости от версии платформы 1С:Предприятие (8.2, 8.3, 8.3.20+). Всегда сверяйтесь с документацией к вашей конкретной версии релиза.