Администрирование · 9 мин
Как войти в монопольный режим в 1С
Как включить монопольный режим в 1С 8.3: через конфигуратор, консоль кластера и параметры запуска. Что делать, если режим не устанавливается, и как завершить сеансы пользователей.
Монопольный режим в 1С — это состояние информационной базы, при котором с ней работает только один сеанс, а подключение остальных пользователей блокируется. Без него невозможно выполнить обновление конфигурации, тестирование и исправление, загрузку данных из dt-файла и ряд других административных операций. Попытка запустить такие процедуры при активных сеансах завершится ошибкой «Нарушение прав доступа» или сообщением о том, что база занята.
Способ включения монопольного режима зависит от того, как развёрнута база: в файловом варианте достаточно одного действия в конфигураторе, а в клиент-серверном варианте сначала нужно завершить или заблокировать сеансы пользователей через консоль кластера. Ниже разобраны оба сценария, типичные ошибки и способы проверить, что режим действительно установлен.
Что такое монопольный режим и когда он нужен
Монопольный (эксклюзивный) режим гарантирует, что структуру базы и данные изменяет только один процесс. Пока он активен, платформа отклоняет новые подключения и запрещает параллельные сеансы, включая фоновые задания, которые могли бы обратиться к изменяемым объектам.
Типовые ситуации, где монопольный режим обязателен:
- обновление конфигурации базы данных и динамическое обновление;
- тестирование и исправление информационной базы (chdbfl для файловых баз работает аналогично — требует отсутствия подключений);
- загрузка базы из выгрузки .dt и полная выгрузка;
- изменение структуры метаданных с реструктуризацией таблиц;
- массовые обработки данных, где недопустимы параллельные изменения.
Для обычной работы пользователей монопольный режим не нужен и вреден: пока он включён, никто не сможет войти в базу. Поэтому после завершения обслуживания его нужно сразу снять.
Подготовка: проверьте активные сеансы и сделайте копию
Перед включением монопольного режима убедитесь, что в базе нет активных пользователей и регламентных заданий. В клиент-серверном варианте список сеансов виден в консоли кластера (ветка «Сеансы»), в файловом — через меню «Администрирование → Активные пользователи» в клиентском приложении или конфигураторе.
Предупредите пользователей о времени работ и дождитесь, пока они корректно закроют программу. Принудительное завершение сеансов допустимо, но может оборвать незавершённые транзакции — пользователь потеряет несохранённые данные в открытом документе.
Как включить монопольный режим в файловой базе
Файловый вариант — самый простой случай. Достаточно прав администратора и отсутствия других подключений к базе.
- 1Закройте все клиентские приложения, подключённые к базе, включая сеансы на других компьютерах сети.
- 2Откройте базу в конфигураторе под пользователем с полными правами.
- 3Перейдите в меню Администрирование → Установить монопольный режим.
- 4Подтвердите действие — в заголовке окна конфигуратора появится пометка о монопольном режиме.
- 5Выполните нужные операции, затем снимите режим через Администрирование → Снять монопольный режим.
Если при установке появляется сообщение о том, что база используется другими пользователями, значит, осталось активное подключение. Частая причина — открытый тонкий клиент на другом компьютере, зависший процесс 1cv8.exe или подключение по веб-серверу. Найдите и завершите такой процесс, затем повторите попытку.
Обратите внимание: если база опубликована на веб-сервере или к ней обращаются через COM-соединение, эти подключения тоже считаются сеансами и блокируют монопольный доступ. Остановите пул приложений веб-сервера на время обслуживания.
Монопольный режим в клиент-серверной базе
В клиент-серверном варианте сеансы пользователей держит сервер 1С:Предприятия, поэтому просто «закрыть программы у всех» недостаточно — нужно управлять сеансами централизованно через консоль кластера серверов.
Завершение активных сеансов
Откройте консоль администрирования серверов 1С, разверните нужный кластер, выберите базу и перейдите на вкладку «Сеансы». Выделите все сеансы пользователей и выполните «Удалить». Сеансы регламентных заданий завершайте так же, но учтите, что они могут перезапуститься — надёжнее предварительно заблокировать их.
Блокировка сеансов и регламентных заданий
Правильная практика — не гнаться за каждым сеансом, а установить блокировку: в свойствах информационной базы в консоли кластера включите флажки «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена». Задайте время начала и окончания блокировки и, при необходимости, код разрешения — с ним ваш сеанс сможет войти, а остальные получат отказ.
После того как активные сеансы завершены, а новые заблокированы, монопольный доступ устанавливается автоматически при запуске обновления конфигурации, либо вручную — тем же пунктом «Администрирование → Установить монопольный режим» в конфигураторе.
Альтернативные способы: параметры запуска и пакетный режим
Для автоматизации обслуживания монопольный доступ можно запросить при запуске, не открывая конфигуратор вручную. Платформа поддерживает пакетный режим конфигуратора, где операции выполняются из командной строки.
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N"Администратор" /P"пароль" /UpdateDBCfg /DisableStartupDialogsКлюч /UpdateDBCfg в пакетном режиме сам попытается установить монопольный доступ и обновить конфигурацию базы данных. Если монопольный режим недоступен, команда завершится с ошибкой, которую можно обработать в скрипте. Для клиент-серверной базы вместо /F используются параметры /S (сервер и имя базы).
Для завершения сеансов из скриптов в клиент-серверном варианте удобна утилита RAC из состава сервера 1С — она позволяет получить список сеансов, удалить их и установить блокировку без открытия графической консоли.
Что делать, если монопольный режим не устанавливается
Ошибка «Невозможно установить монопольный режим» почти всегда означает, что к базе остаётся хотя бы одно подключение. Разберите типичные источники проблемы:
В клиент-серверном варианте проверяйте также спящие сеансы: они не выполняют действий, но считаются активными и мешают монопольному доступу. Их видно в консоли кластера с признаком «спящий» — удалите их так же, как обычные.
Как проверить, что режим установлен
Присутствует пометка о монопольном режиме
Пометки нет — режим не установлен
Получает отказ в подключении
Пользователь входит свободно — монополия не действует
Один сеанс — ваш
Есть другие сеансы, включая фоновые
Как корректно выйти из монопольного режима
После завершения работ снимите монопольный режим через «Администрирование → Снять монопольный режим» в конфигураторе. В клиент-серверном варианте дополнительно отключите блокировку сеансов в консоли кластера и разрешите регламентные задания, иначе пользователи не смогут войти, а обмены и расчёты остановятся.
Проверьте результат: попросите пользователя войти в базу или выполните тестовое подключение сами. Убедитесь, что регламентные задания возобновили выполнение — в консоли кластера видно их активные сеансы.
Что важно запомнить
Монопольный режим включается через меню «Администрирование» в конфигураторе, но требует отсутствия других сеансов. В клиент-серверной базе сначала установите блокировку сеансов и завершите активные подключения в консоли кластера. Перед обновлением делайте резервную копию, после работ — снимайте режим и блокировку.
Частые вопросы
Можно ли включить монопольный режим, не выгоняя пользователей?
Нет. Монопольный режим по определению требует единственного сеанса. Можно смягчить процесс: заранее установить блокировку новых сеансов с сообщением пользователям о времени работ, дождаться их выхода и только потом завершать оставшиеся сеансы принудительно.
Чем монопольный режим отличается от блокировки сеансов?
Блокировка сеансов запрещает новые подключения, но уже работающие пользователи продолжают работать. Монопольный режим допускает только один сеанс вообще. Для обновления конфигурации нужен именно монопольный доступ, блокировка — лишь вспомогательный инструмент.
Почему после аварийного завершения база остаётся «занятой»?
При некорректном закрытии в файловой базе может остаться зависший процесс, удерживающий файлы. Найдите процесс 1cv8.exe на компьютере, где работал пользователь, и завершите его. В клиент-серверном варианте удалите «зависший» сеанс через консоль кластера.
Нужен ли монопольный режим для динамического обновления?
Динамическое обновление как раз выполняется без монопольного режима, пока пользователи работают. Но оно подходит не для всех изменений: при реструктуризации ряда объектов платформа потребует монопольный доступ и полное обновление конфигурации базы данных.
Как включить монопольный режим в базе на веб-сервере?
Через браузер установить его нельзя. Откройте базу в конфигураторе (напрямую или через публикацию с правами администратора) и используйте стандартный пункт меню. На время работ остановите пул приложений веб-сервера, чтобы пользователи не создавали новые сеансы.
Что будет, если забыть снять монопольный режим?
Пользователи не смогут войти в базу, а регламентные задания не запустятся. При закрытии конфигуратора монопольный режим обычно снимается автоматически, но блокировку сеансов в консоли кластера нужно отключать вручную — она сохраняется независимо.