Администрирование · 9 мин
Монопольный режим 1С 8.3: как включить и для чего он нужен
Как включить монопольный режим в 1С 8.3 через конфигуратор и кластер серверов, зачем он нужен, что делать с активными сеансами и типичные ошибки.
Монопольный режим в 1С 8.3 — это состояние информационной базы, при котором с ней работает только один сеанс, а все остальные подключения блокируются. Без него невозможно выполнить ряд критичных операций: загрузку и выгрузку базы через конфигуратор, тестирование и исправление, обновление конфигурации с реструктуризацией, полное удаление помеченных объектов.
Если при запуске такой операции вы видите сообщение «Ошибка установки монопольного режима» или «Ошибка разделения доступа к базе данных», значит, в базе остались активные сеансы пользователей или фоновые задания. Платформа не даст включить монопольный доступ, пока хотя бы одно соединение живо.
Ниже разобраны оба способа включения монопольного режима — для файловой и клиент-серверной базы, способы завершить чужие сеансы, команды для автоматизации и типичные ошибки, из-за которых режим не устанавливается.
Что такое монопольный режим и когда он нужен
Монопольный режим гарантирует, что структуру базы данных меняет только один процесс и никто параллельно не читает и не пишет данные. Это защита от рассогласования метаданных и физических таблиц: если во время реструктуризации кто-то проведёт документ, платформа может получить неконсистентные данные.
Операции, требующие монопольного доступа:
- обновление конфигурации базы данных, если изменилась структура метаданных (реструктуризация);
- загрузка и выгрузка информационной базы в файл .dt;
- тестирование и исправление информационной базы;
- удаление помеченных объектов в монопольном варианте;
- изменение режима совместимости и некоторые сервисные операции.
Важно понимать разницу: монопольный режим — это свойство текущего сеанса, а блокировка сеансов — отдельный механизм, запрещающий новые подключения. Для надёжной работы в клиент-серверном варианте их обычно применяют вместе: сначала блокируют новые сеансы, затем завершают существующие, потом включают монопольный доступ.
Как включить монопольный режим в файловой базе
Файловая база — самый простой случай: сеансы хранятся в файле 1Cv8.1cd, и список активных пользователей виден прямо в конфигураторе. Порядок действий:
- Откройте базу в конфигураторе под пользователем с полными правами.
- Проверьте активных пользователей: меню «Администрирование» → «Активные пользователи». Если кроме вас есть другие сеансы — попросите пользователей выйти.
- Выберите «Администрирование» → «Установить монопольный режим».
- При успешной установке в заголовке окна конфигуратора появится пометка «(монопольно)».
- 1Открыть конфигуратор под администратором
- 2Проверить список активных пользователей
- 3Завершить чужие сеансы
- 4Администрирование → Установить монопольный режим
- 5Убедиться, что в заголовке окна есть пометка «монопольно»
Если пользователь физически ушёл, а сеанс «завис» (например, из-за обрыва сети), закройте его через диспетчер задач на том компьютере или перезагрузите сервер/компьютер, где лежит файл базы, если она открыта по сети. В крайнем случае файл 1Cv8.1clg и служебные блокировки сбрасываются при полном закрытии всех сеансов.
Монопольный режим в клиент-серверной базе
В клиент-серверном варианте сеансами управляет кластер серверов 1С, поэтому просто попросить пользователей выйти недостаточно — нужно заблокировать новые подключения и снять старые через консоль администрирования.
Действия в консоли кластера (1CV8 Servers → Кластер → Информационные базы → нужная база):
- Откройте свойства информационной базы (правый клик → «Свойства»).
- Установите флаг «Блокировка начала сеансов включена».
- Задайте время начала блокировки (можно текущее) и при необходимости сообщение для пользователей и код разрешения.
- На вкладке «Сеансы» выделите все сеансы этой базы и удалите их (Delete).
- Зайдите в конфигуратор и включите монопольный режим обычным способом.
Код разрешения — удобный механизм: если задать его в свойствах блокировки, то сеанс, запущенный с параметром /UC«код», сможет подключиться несмотря на блокировку. Так администратор заходит в базу, не снимая блокировку для остальных.
Перед массовым удалением сеансов в консоли кластера включите в свойствах базы сообщение блокировки с понятным текстом и временем окончания работ — пользователи увидят его при попытке входа, и поток вопросов «почему не заходит 1С» заметно сократится.
Завершение сеансов из командной строки
Для регулярных регламентных операций (ночное обновление, бэкап) удобнее автоматизировать отключение пользователей утилитой администрирования rac:
rac session --cluster=<ID_кластера> terminate --infobase=<ID_базы>После завершения сеансов агент сервера освободит соединения с СУБД в течение короткого времени, и монопольный режим установится без ошибки.
Что делать, если монопольный режим не устанавливается
Самая частая причина — оставшиеся активные сеансы. Но есть и менее очевидные источники подключений, о которых забывают:
- фоновые и регламентные задания, запущенные от имени служебного пользователя;
- сеансы веб-сервисов, HTTP-сервисов и планов обмена (РИБ, обмен с сайтом);
- открытый второй конфигуратор или предприятие на терминальном сервере у другого администратора;
- COM-соединения из внешних программ и скриптов;
- «зависшие» сеансы после аварийного завершения клиента.
Список активных пользователей в конфигураторе или вкладка «Сеансы» в консоли кластера
Вкладка «Соединения» в консоли кластера, активность на стороне SQL-сервера
Свойства базы в консоли: флаг блокировки начала сеансов
В клиент-серверном варианте проверяйте не только «Сеансы», но и «Соединения» — рабочий процесс может держать соединение с базой, даже если сеанс формально завершён. Удаление соединений в консоли решает проблему без перезапуска службы сервера 1С.
Как снять монопольный режим и вернуть доступ пользователям
После завершения работ монопольный режим нужно отключить, иначе пользователи не смогут войти. В конфигураторе: «Администрирование» → «Снять монопольный режим». При закрытии конфигуратора режим снимается автоматически.
В клиент-серверном варианте дополнительно снимите блокировку сеансов в свойствах информационной базы консоли кластера — уберите флаг «Блокировка начала сеансов включена». Этот шаг часто забывают, и наутро пользователи видят сообщение о блокировке, хотя обновление давно закончилось.
Как проверить результат
Нет пометки «(монопольно)» после снятия режима
Пометка осталась — режим не снят
Пользователь заходит штатно
Сообщение о блокировке начала сеансов
Флаг блокировки сеансов снят
Флаг установлен — вход закрыт
Типичные ошибки и ограничения
Ещё одно ограничение: монопольный режим не равен резервной копии. Он защищает структуру только на время операции, но не спасает от аппаратного сбоя или ошибки самой операции. Перед реструктуризацией и тестированием с исправлением копия обязательна: для файловой базы — копирование каталога или выгрузка .dt, для клиент-серверной — штатный бэкап средствами СУБД.
Что важно запомнить
Монопольный режим включается в конфигураторе через «Администрирование», но установится только при отсутствии других сеансов. В клиент-серверной базе сначала заблокируйте новые сеансы в консоли кластера, затем завершите существующие. После работ снимите и монопольный режим, и блокировку сеансов. Перед операциями, меняющими структуру базы, всегда делайте резервную копию.
Частые вопросы
Можно ли включить монопольный режим, не выгоняя пользователей?
Нет. Платформа принципиально не устанавливает монопольный доступ, пока существует хотя бы один другой сеанс. Единственный мягкий вариант — заранее включить блокировку начала сеансов с сообщением и дождаться, пока пользователи выйдут сами, либо завершить сеансы принудительно через консоль кластера.
Чем монопольный режим отличается от блокировки сеансов?
Монопольный режим — состояние конкретного сеанса: база принадлежит одному подключению, пока оно активно. Блокировка сеансов — настройка информационной базы, запрещающая новые подключения независимо от того, кто сейчас работает. Для обслуживания базы обычно нужны оба механизма одновременно.
Что означает ошибка «Ошибка разделения доступа к базе данных»?
Это файловый аналог ошибки установки монопольного режима: платформа не смогла получить эксклюзивный доступ к файлу 1Cv8.1cd, потому что база открыта другими пользователями локально или по сети. Проверьте «Активные пользователи» и закройте все сеансы, включая зависшие.
Зависший сеанс не даёт включить монопольный режим, а пользователь уже ушёл. Что делать?
В файловой базе завершите процесс 1cv8.exe на компьютере пользователя или перезагрузите машину, где открыт файл. В клиент-серверной базе удалите сеанс в консоли кластера — сервер сам освободит соединения. Ждать тайм-аут завершения обычно не нужно.
Нужна ли монопольный режим для обычного обновления конфигурации?
Если обновление не меняет структуру метаданных, динамическое обновление возможно без монопольного доступа. Но как только затрагиваются таблицы (добавлены реквизиты, справочники, изменены типы), потребуется реструктуризация — а она выполняется только в монопольном режиме. На практике для рабочих баз обновление всегда планируют с блокировкой сеансов.