Работа с файловым вариантом информационной базы 1С:Предприятие имеет свои специфические особенности, которые отличают её от клиент-серверной архитектуры. Одним из критически важных аспектов администрирования является управление активными соединениями, особенно когда требуется выполнить регламентные работы, такие как обновление конфигурации, выгрузка или тестирование целостности данных. В файловом режиме доступ к данным осуществляется напрямую через сетевую файловую систему, что накладывает жесткие ограничения на одновременное использование ресурсов.
Часто администраторы сталкиваются с ситуацией, когда необходимо принудительно или корректно освободить базу от пользователей. Это может потребоваться при зависании клиентского приложения, ночном обслуживании или перед началом массовой обработки данных. Неправильные действия могут привести к блокировке файлов, повреждению структур хранения или невозможности запустить систему в монопольном режиме. Понимание механизмов работы с сессиями позволит вам избежать простоев в работе предприятия.
В данной статье мы подробно разберем все доступные методы завершения сеансов: от штатных средств интерфейса до ручного вмешательства в файловую структуру каталога базы данных. Вы узнаете, как диагностировать зависшие процессы, какие файлы отвечают за блокировку и как безопасно очистить систему от «мертвых» подключений.
Особенности работы сеансов в файловом режиме
В отличие от серверного варианта, где управлением сессиями занимается сервер 1С:Предприятия, в файловом варианте ответственность ложится на операционную систему и механизм блокировок файлов. Каждый запущенный клиент создает временные файлы блокировок в корневой папке базы данных. Эти файлы сообщают другим экземплярам программы о том, что ресурс занят.
Основным элементом управления доступом является файл 1Cv8.1CD (или аналогичный файл данных), который открывается в режиме монопольного или разделяемого доступа. Если один пользователь удерживает монопольную блокировку, другие не могут получить доступ для изменения конфигурации. При этом обычные пользовательские сеансы работают параллельно, записывая данные в общие файлы.
Проблемы возникают, когда клиентское приложение завершается аварийно. В этом случае операционная система может не успеть снять файловую блокировку, и на диске остаются «висящие» файлы с расширением .lgc. Система воспринимает их как признак активного сеанса, даже если пользователь уже ушел домой. Это создает иллюзию занятости базы.
⚠️ Внимание: Удаление файлов блокировок вручную возможно только после полной уверенности в том, что реальные пользователи не работают с базой в данный момент. Преждевременное удаление может привести к потере данных при сохранении документов другими сотрудниками.
Механизм очистки сеансов в файловом режиме менее автоматизирован, чем в SQL-версии. Администратору часто приходится выступать в роли арбитра, вручную анализируя список активных процессов и сверяя их с реальными пользователями. Понимание физической структуры хранения файлов поможет вам быстрее локализовать проблему.
Перед любыми манипуляциями с файлами базы данных обязательно создайте полную резервную копию каталога. Это единственная страховка от случайного повреждения данных.
Штатные средства завершения сеансов через интерфейс
Самый безопасный и рекомендуемый способ завершения работы пользователей — использование встроенного функционала платформы 1С. Этот метод гарантирует корректное закрытие транзакций и сохранение всех буферизированных данных на диск. Для доступа к этим функциям требуются права администратора информационной базы.
Необходимо запустить конфигуратор или режим «1С:Предприятие» с правами администратора. В меню выберите пункт Администрирование, затем перейдите в раздел Активные пользователи. Откроется форма, содержащая таблицу всех текущих подключений к данной информационной базе. Здесь отображается имя пользователя, компьютер, с которого выполнено подключение, и время начала сеанса.
Для принудительного разрыва соединения выделите нужную строку в списке и нажмите кнопку Завершить сеанс. Система отправит сигнал клиентскому приложению о необходимости корректного завершения работы. Если приложение отвечает, сеанс закроется штатно. Если клиент завис, платформа попытается разорвать соединение на уровне протокола обмена.
☑️ Алгоритм штатного завершения
Важно отметить, что в файловом варианте этот список может обновляться с задержкой. Иногда сеанс отображается в списке еще несколько минут после реального выхода пользователя. Это связано с механизмом обновления служебной информации в файлах блокировок. Не стоит паниковать и удалять файлы, если вы видите «призрачные» сеансы, которые исчезают сами собой через пару минут.
Анализ и удаление файлов блокировок вручную
Когда штатные средства не помогают или доступ к базе через интерфейс невозможен из-за блокировок, приходится переходить к ручному управлению файлами. Этот метод требует высокой осторожности и понимания того, какие именно файлы отвечают за регистрацию сеансов в каталоге базы.
Зайдите в корневую папку информационной базы через проводник Windows или файловый менеджер. Вам необходимо найти файлы с расширением .lgc (Lock Files). Имя такого файла обычно состоит из префикса 1Cv8 и уникального идентификатора сеанса. Наличие этого файла сигнализирует платформе о том, что конкретный пользователь или процесс удерживает соединение.
Перед удалением убедитесь, что на компьютерах пользователей не запущены процессы 1cv8.exe или 1cv8c.exe. Если процессы завершены, а файлы .lgc остались, их можно смело удалять. Также стоит обратить внимание на файл 1Cv8DBName.cnf или подобные конфигурационные файлы, которые могут удерживать блокировку при некорректном завершении работы сервера лицензий (если используется сетевой вариант защиты).
| Тип файла | Назначение | Можно ли удалять? |
|---|---|---|
.lgc |
Файл блокировки сеанса | Да, если сеанс не активен |
.cdx |
Файл индексов | Нет, критично для работы |
.tmp |
Временные файлы | Только если база закрыта |
1Cv8.1CD |
Основной файл данных | Категорически нет |
⚠️ Внимание: Никогда не удаляйте файлы с расширением
.cdxили основной файл данных. Это приведет к полной неработоспособности базы и необходимости восстановления из резервной копии. Работайте только с файлами блокировок.lgc.
После удаления файлов блокировок попробуйте запустить базу в монопольном режиме. Если система запустилась без ошибок, значит, «мертвые» сеансы были успешно очищены. В противном случае может потребоваться перезагрузка файлового сервера для снятия системных блокировок на уровне ОС.
Что делать, если файлы не удаляются?
Если Windows сообщает, что файл занят другим процессом, значит, на каком-то компьютере все еще запущен клиент 1С, который удерживает этот файл. Используйте утилиты типа Process Explorer или перезагрузите сервер, если это допустимо в рабочее время.
Использование утилиты chdbfl для обслуживания
В составе платформы 1С:Предприятие поставляется специальная консольная утилита chdbfl.exe, предназначенная для тестирования и исправления файловых баз. Она обладает мощными функциями по управлению сеансами и может принудительно завершать подключения, которые блокируют доступ к данным.
Для работы с утилитой необходимо открыть командную строку с правами администратора и перейти в каталог установки платформы 1С. Обычно он расположен по пути C:\Program Files\1cv8\8.3.xx.xxxx\bin. Запуск утилиты без параметров выведет справку по доступным ключам, среди которых нас интересует режим принудительного завершения сеансов.
Команда для завершения всех сеансов и перевода базы в монопольный режим выглядит следующим образом:
chdbfl.exe "D:\Bases\Base1C" /F /C
Здесь ключ /F указывает на файловый вариант базы, а /C (или аналогичный в зависимости от версии) может инициировать проверку и очистку. Более точные ключи могут отличаться в разных версиях платформы, поэтому всегда сверяйтесь со справкой конкретной версии 1С:Предприятие. Утилита попытается корректно закрыть все активные транзакции перед выполнением операции.
Использование chdbfl предпочтительнее ручного удаления файлов, так как программа проводит дополнительную проверку целостности структуры данных после разрыва соединений. Это снижает риск возникновения логических ошибок в дальнейшем.
Диагностика зависших процессов на рабочих местах
Иногда проблема кроется не в сервере или файлах, а в конкретном рабочем месте пользователя, где процесс 1С «завис» в памяти и не отпускает сетевое соединение. В таких случаях администратору необходимо провести диагностику удаленно или попросить пользователя выполнить определенные действия.
Первым шагом является проверка диспетчера задач на компьютере пользователя. Найдите процессы с именем 1cv8.exe (толстый клиент) или 1cv8c.exe (тонкий клиент). Если приложение не отвечает, завершите процесс принудительно через диспетчер задач. Это должно привести к освобождению сетевых дескрипторов и снятию блокировок.
Если завершение процесса не помогает, возможно, проблема в сетевом драйвере или антивирусном ПО, которое сканирует открытые файлы базы и блокирует их освобождение. Временно отключите антивирусную защиту на клиентском месте и проверьте, исчезнет ли сеанс в списке активных пользователей.
Также стоит проверить сетевую активность. Используйте команду net session на файловом сервере, чтобы увидеть, какие компьютеры удерживают открытые файлы в общей папке. Эта команда покажет список активных сессий SMB и позволит разорвать их командой net session \\computer_name /delete.
Монопольный режим и предотвращение новых подключений
После того как вы завершили все активные сеансы, часто необходимо удержать базу в состоянии, когда новые пользователи не могут подключиться. Это требуется для проведения длительных операций обновления или выгрузки данных. Для этого используется механизм установки монопольного режима.
При запуске 1С в режиме Конфигуратор выберите опцию Монопольный режим в окне запуска. Если база свободна, вы получите исключительный доступ. Однако, если кто-то успеет подключиться в этот момент в режиме Предприятия, монопольный режим установить не удастся. Поэтому важно сначала очистить сеансы, а затем быстро занять базу.
Существует также программный способ запрета новых подключений через изменение прав доступа или временное переименование папки базы (крайняя мера). Но наиболее цивилизованный метод — использование регламентных заданий или специальных обработок, которые переводят базу в режим «Только чтение» или выводят предупреждение для пользователей.
Монопольный режим — это не просто отсутствие других пользователей, это специальный флаг доступа, который разрешает изменять структуру конфигурации и проводить глобальные обновления.
⚠️ Внимание: Интерфейс и доступные команды могут незначительно отличаться в зависимости от версии платформы 1С (8.2, 8.3). Всегда проверяйте актуальность синтаксиса утилит в документации к вашей конкретной версии релиза.
Часто задаваемые вопросы (FAQ)
Почему после завершения сеанса файл .lgc не удаляется автоматически?
Это может происходить из-за задержки операционной системы в обновлении файловой системы или из-за того, что процесс 1С на клиенте еще не полностью освободил ресурсы. Иногда помогает простое ожидание в 1-2 минуты. Если файл остается долго, значит, процесс завис и требует принудительного завершения.
Можно ли завершить сеанс, если я забыл пароль администратора?
В файловом варианте вы можете удалить файлы блокировок вручную через проводник, если у вас есть права доступа к папке с базой данных на уровне операционной системы. Однако это не рекомендуется делать, пока вы не убедитесь, что пользователи реально завершили работу.
Влияет ли завершение сеанса на сохраненные документы пользователя?
При штатном завершении через интерфейс 1С все данные сохраняются. При принудительном разрыве (убийстве процесса или удалении файлов) несохраненные данные в оперативной памяти клиента будут утеряны. Документ, который пользователь проводил в момент обрыва, может оказаться не проведенным или поврежденным.
Как узнать, кто именно занимает базу, если имя пользователя неизвестно?
В списке активных пользователей отображается имя компьютера и IP-адрес. Сопоставив эти данные с инвентаризационной ведомостью вашего парка техники, вы сможете идентифицировать конкретного сотрудника или рабочее место, которое удерживает соединение.
Безопасно ли использовать утилиту chdbfl в рабочее время?
Использование утилиты с ключами исправления ошибок или принудительного завершения сеансов в рабочее время небезопасно. Это может привести к потере данных пользователей, которые в этот момент проводят документы. Используйте такие инструменты только в технологическое окно или после-hours.