Администрирование · 12 мин
Как выйти из монопольного режима в 1С
Что делать, если 1С не выходит из монопольного режима: как завершить сеансы пользователей, снять блокировку в консоли кластера и в файловой базе без потери данных.
Монопольный режим в 1С нужен для операций, которые требуют исключительного доступа к базе: обновление конфигурации, загрузка данных, тестирование и исправление, удаление помеченных объектов. Проблема возникает, когда платформа отказывается его отпускать: появляется сообщение «Ошибка разделенного доступа к базе» или «Уже существуют сеансы работы с информационной базой», хотя визуально все пользователи вышли.
Причина почти всегда одна — с информационной базой остаются активные соединения: зависший сеанс пользователя, фоновое задание, открытый конфигуратор, соединение веб-сервиса или «спящий» сеанс, который пользователь закрыл аварийно. Пока существует хотя бы одно такое соединение, монопольный режим не снимается.
Способ решения зависит от того, как работает база: в файловом варианте (папка на диске или сетевом ресурсе) или в клиент-серверном (через сервер 1С:Предприятия и СУБД). Ниже разобраны оба сценария с точными действиями и проверкой результата.
Как понять, что база находится в монопольном режиме
Признаки монопольного режима видны и пользователям, и администратору. Пользователи при входе получают сообщение об ошибке разделенного доступа или о том, что начало сеанса запрещено. Администратор при попытке выполнить обычную операцию видит, что база работает так, будто в ней есть только один сеанс — его собственный.
Точно проверить состояние можно двумя способами. В клиент-серверном варианте откройте консоль кластера серверов, выберите информационную базу и посмотрите список сеансов: если режим монопольный, там будет либо один сеанс, либо несколько «лишних», которые его удерживают. В файловом варианте ориентируйтесь на поведение базы и список активных пользователей в разделе «Администрирование → Активные пользователи».
Важно отличать монопольный режим от блокировки сеансов, установленной через консоль кластера или типовую обработку «Блокировка работы пользователей». Внешне они похожи — пользователи не могут войти, — но снимаются по-разному: блокировка убирается снятием флага в настройках базы, а монопольный режим требует завершения всех чужих соединений.
Смотрите список сеансов в консоли кластера или активных пользователей
Проверьте свойства базы в консоли: флаг блокировки регламентных заданий и начала сеансов
Ищите сеансы в состоянии «спящий» и фоновые задания в консоли кластера
Выход из монопольного режима в файловой базе
В файловом варианте нет сервера 1С, который управляет соединениями, поэтому платформа отслеживает сеансы через служебные файлы в каталоге базы. Если пользователь закрыл 1С аварийно — сбоем питания, обрывом сети, «снятием» процесса — запись о его соединении может остаться, и база будет считать, что кто-то ещё работает.
Сначала попросите всех пользователей корректно выйти из программы и проверьте, что на компьютерах не осталось процессов 1cv8.exe или 1cv8c.exe в диспетчере задач. Затем закройте у себя все окна 1С, включая конфигуратор, и откройте базу заново — часто этого достаточно, чтобы монопольный режим снялся автоматически при завершении последнего сеанса.
Если ошибка сохраняется, убедитесь, что к базе не подключён никто по сети: файл 1Cv8.1CD не должен быть открыт другими компьютерами. Проверьте также, не запущено ли регламентное или фоновое задание — в файловой базе они выполняются в сеансе того, кто их запустил, и тоже удерживают соединение.
Выход из монопольного режима в клиент-серверной базе
Клиент-серверный вариант даёт администратору главный инструмент — консоль кластера серверов 1С. Откройте её (оснастка «Администрирование серверов 1С Предприятия»), разверните нужный кластер, найдите информационную базу и перейдите на вкладку «Сеансы». Вы увидите полный список подключений: пользовательские сеансы, фоновые задания, соединения веб-сервисов.
Найдите все сеансы, кроме своего текущего, выделите их и выберите в контекстном меню «Удалить». Сеанс завершится принудительно — пользователь при этом получит сообщение о разрыве соединения, поэтому по возможности предупредите коллег заранее. После удаления всех лишних сеансов монопольный режим снимается автоматически, если он был установлен вашим сеансом.
Обратите внимание на сеансы с типом «Фоновое задание» и «WS-соединение»: их легко не заметить, но они точно так же блокируют выход из монопольного режима. Также проверьте вкладку «Соединения» — иногда соединение остаётся даже после завершения сеанса, и его тоже нужно снять.
- 1Откройте оснастку администрирования серверов 1С и разверните кластер
- 2Выберите информационную базу и откройте вкладку «Сеансы»
- 3Предупредите пользователей о принудительном завершении работы
- 4Удалите все сеансы, кроме своего, включая фоновые задания
- 5Проверьте вкладку «Соединения» и снимите оставшиеся соединения
- 6Убедитесь, что пользователи могут войти в базу в обычном режиме
Снятие монопольного режима через конфигуратор и режим предприятия
Если монопольный режим установили вы сами — например, поставили флаг «Монопольно» при запуске конфигуратора или включили его для обновления — снять его проще всего тем же способом. В конфигураторе монопольный режим действует, пока открыт конфигуратор с установленным флагом; закройте конфигуратор, и режим отпадёт при отсутствии других сеансов.
В режиме «1С:Предприятие» в типовых конфигурациях монопольный режим включается и выключается программно: например, при обновлении конфигурации или в обработке «Удаление помеченных объектов». Если обработка завершилась с ошибкой и не сняла режим, откройте её снова — многие типовые механизмы при повторном запуске корректно отключают монопольный доступ. Альтернатива — просто завершить свой сеанс: при выходе последнего монопольного сеанса режим снимается.
Есть и программный способ для разработчиков и администраторов: метод платформы УстановитьМонопольныйРежим(Ложь). Его можно выполнить через внешнюю обработку с командой Выполнить или в консоли кода, если она есть в вашей конфигурации. Способ работает только из сеанса, который имеет право устанавливать монопольный режим (административные права), и только если нет других активных сеансов.
Что делать с зависшими и спящими сеансами
Спящий сеанс появляется, когда клиентское приложение закрылось некорректно, но сервер ещё держит соединение — по умолчанию такой сеанс живёт до истечения таймаута, который задаётся в свойствах кластера. Пока спящий сеанс существует, он блокирует монопольный режим так же, как обычный.
Дождаться автоматического завершения можно, но быстрее удалить спящий сеанс вручную в консоли кластера — в списке сеансов он обычно помечен соответствующим состоянием. Если зависшие сеансы появляются регулярно, проверьте стабильность сети между клиентами и сервером и рассмотрите настройку меньшего таймаута завершения спящих сеансов в свойствах кластера.
Отдельный случай — сеансы регламентных заданий. Если при установке монопольного режима регламентные задания не были заблокированы, они могут запуститься и помешать. В свойствах информационной базы в консоли кластера установите флаг «Блокировка регламентных заданий включена» на время обслуживания — это предотвратит новые запуски.
Как выбрать действие
Типичные ошибки при выходе из монопольного режима
Самая частая ошибка — попытка снять монопольный режим, не завершив чужие сеансы. Платформа в этой ситуации честно сообщает об ошибке, но администраторы нередко ищут «волшебную кнопку», которой не существует: сначала сеансы, потом снятие режима, строго в этом порядке.
Вторая ошибка — перезагрузка сервера 1С или службы агента «вслепую», без анализа сеансов. Это действительно снимает все соединения, но обрывает работу всех баз кластера, а не только проблемной, и может повредить незавершённые транзакции. Перезапуск службы — крайняя мера, когда консоль кластера недоступна или сеансы не удаляются штатно.
Третья ошибка — путать монопольный режим с блокировкой сеансов и пытаться лечить одно инструментами другого. Если в свойствах базы установлена блокировка начала сеансов с кодом разрешения, пользователи не войдут даже после снятия монопольного режима — флаг нужно снять отдельно.
Проверка результата и профилактика
После всех действий проверьте результат двумя способами. Во-первых, попросите одного из пользователей войти в базу обычным образом — успешный вход означает, что монопольный режим снят. Во-вторых, в консоли кластера убедитесь, что сеансов несколько и новые подключения создаются без ошибок.
Для профилактики полезно выработать регламент обслуживания: перед обновлением или загрузкой данных устанавливайте блокировку сеансов с сообщением для пользователей, дожидайтесь их выхода, включайте блокировку регламентных заданий и только затем начинайте работы. Такой порядок сводит к минимуму и зависшие сеансы, и необходимость принудительных удалений.
Если монопольный режим «зависает» регулярно без видимых причин, проверьте интеграции: веб-сервисы, обмены с другими системами, внешние компоненты могут удерживать соединения. Журнал регистрации и технологический журнал помогут найти источник таких подключений.
Как проверить результат
Вход выполняется без сообщений о монопольном доступе
Ошибка разделенного доступа или запрет начала сеанса
Несколько рабочих сеансов, новые создаются свободно
Один сеанс или спящие сеансы, которые не удаляются
Блокировка сеансов и регламентных заданий сняты после работ
Флаги блокировки остались установленными
Что важно запомнить
Монопольный режим снимается только после завершения всех чужих сеансов и соединений. В клиент-серверной базе используйте консоль кластера, в файловой — корректный выход всех пользователей и перезапуск. Не удаляйте файлы базы и не перезагружайте сервер без необходимости.
Частые вопросы
Почему 1С пишет «ошибка разделенного доступа», хотя все вышли?
Чаще всего остался зависший или спящий сеанс после аварийного закрытия программы, либо работает фоновое задание. В клиент-серверной базе откройте список сеансов в консоли кластера и удалите лишние; в файловой — проверьте процессы 1С на всех компьютерах и перезапустите базу.
Можно ли снять монопольный режим без консоли кластера?
Да, если у вас есть сеанс с административными правами и нет других активных сеансов: достаточно завершить свой монопольный сеанс, и режим снимется автоматически. В типовых конфигурациях также помогает повторный запуск обработки, которая режим установила. Но при зависших чужих сеансах без консоли кластера в клиент-серверном варианте не обойтись.
Опасно ли принудительно удалять сеансы пользователей?
Пользователь потеряет несохранённые данные в текущем окне, но сама база от этого не пострадает — транзакции либо завершены, либо корректно откатятся. Тем не менее предупреждайте коллег заранее: внезапный разрыв соединения неприятен и может прервать ввод большого документа.
Чем монопольный режим отличается от блокировки сеансов?
Монопольный режим — это состояние, при котором с базой работает только один сеанс; он снимается завершением остальных соединений. Блокировка сеансов — настройка в свойствах базы, которая запрещает новые входы; она снимается снятием соответствующего флага. Эти механизмы независимы и часто используются вместе при обслуживании.
Что делать, если сеансы не удаляются даже через консоль кластера?
Проверьте, не пересоздаются ли они автоматически — например, работающим регламентным заданием или внешней интеграцией. Включите блокировку регламентных заданий и остановите источник подключений. Крайняя мера — перезапуск службы агента сервера 1С, но она затронет все базы кластера, поэтому предупредите пользователей и выберите время с минимальной нагрузкой.
Может ли монопольный режим зависнуть из-за веб-сервисов?
Да. WS-соединения и сеансы внешних приложений, подключающихся к базе через веб-сервисы или COM-соединение, учитываются платформой наравне с пользовательскими. Они видны в списке сеансов консоли кластера, и их нужно завершать так же, предварительно остановив вызывающую систему, чтобы соединение не пересоздалось.