К статье
Практический материал

Администрирование · 10 мин

Как запустить 1С 8 в монопольном режиме

Как запустить 1С 8.3 монопольно: через конфигуратор, параметр /C, ключ монопольного режима и COM-соединение. Способы снять блокировку и решить ошибки занятости базы.

Монопольный режим в 1С 8 нужен для операций, которые нельзя выполнять, пока в базе работают другие пользователи: обновление конфигурации, тестирование и исправление, загрузка данных, изменение структуры метаданных. Если попытаться выполнить такую операцию без монопольного доступа, платформа выдаст ошибку «Конфликт блокировок» или «Ошибка разделенного доступа к базе данных».

Способ запуска зависит от типа базы. Для файловой базы достаточно открыть конфигуратор с установленным флагом монопольного режима или запустить толстый клиент с параметром командной строки. Для клиент-серверной базы дополнительно используется консоль кластера серверов 1С, где можно принудительно установить блокировку сеансов.

Ниже разобраны все рабочие способы: от простого запуска конфигуратора до сценариев пакетного режима, а также типичные ошибки занятости базы и способы их устранения.

Что такое монопольный режим и когда он нужен

Монопольный режим — это состояние информационной базы, при котором с ней работает только один сеанс, а все остальные подключения запрещены. В этом режиме платформа гарантирует, что никто не изменит данные или структуру базы параллельно с вашими действиями.

Установить монопольный доступ требуется в следующих ситуациях:

  • обновление конфигурации базы данных (реструктуризация таблиц);
  • тестирование и исправление информационной базы;
  • загрузка и выгрузка базы через файлы.dt;
  • изменение свойств конфигурации, затрагивающих структуру данных;
  • массовая обработка данных, где важна целостность.

Важно понимать: монопольный режим не равен запуску конфигуратора. Можно открыть конфигуратор в разделенном режиме — и тогда пользователи продолжат работать, но обновить конфигурацию базы данных не получится.

Запуск конфигуратора в монопольном режиме

Самый простой способ для файловой базы — открыть конфигуратор и включить монопольный доступ из интерфейса. Для этого запустите конфигуратор нужной базы, затем откройте меню «Администрирование» и выберите пункт, связанный с монопольным доступом (в типовых конфигурациях при попытке обновления платформа сама предложит установить монопольный режим).

Если в базе есть активные сеансы других пользователей, платформа выдаст сообщение об ошибке разделенного доступа. В этом случае сначала попросите пользователей выйти, а затем повторите попытку. Для файловой базы список активных пользователей виден в меню «Администрирование» → «Активные пользователи».

Есть нюанс: конфигуратор сам занимает одно подключение. Если пользователь работает в режиме предприятия, а вы открыли конфигуратор, монопольный режим установить не удастся, пока пользователь не завершит сеанс. Принудительно завершить чужой сеанс в файловой базе штатными средствами нельзя — только попросить пользователя или завершить процесс 1cv8.exe на его компьютере.

Порядок действий для файловой базы
  1. 1
    Попросите всех пользователей выйти из базы
  2. 2
    Откройте конфигуратор нужной базы
  3. 3
    Проверьте активных пользователей: Администрирование → Активные пользователи
  4. 4
    Выполните операцию, требующую монопольного доступа — платформа запросит установку монопольного режима, подтвердите
  5. 5
    После завершения работы закройте конфигуратор — монопольный режим снимется автоматически

Запуск монопольного режима через командную строку

Для автоматизации обслуживания удобно запускать платформу с параметрами командной строки. Монопольный режим для толстого клиента задается параметром запуска, а для конфигуратора — специальными командами пакетного режима.

Базовый синтаксис запуска конфигуратора в пакетном режиме с выполнением операции, требующей монопольного доступа:

batch
1cv8.exe DESIGNER /F"C:\Bases\MyBase" /N"Администратор" /P"пароль" /UpdateDBCfg

Команда /UpdateDBCfg выполняет обновление конфигурации базы данных и сама требует монопольного доступа — если в базе есть сеансы, операция завершится ошибкой. Параметр /F указывает путь к файловой базе, /N и /P — имя пользователя и пароль. Для клиент-серверной базы вместо /F используется /S с указанием сервера и имени базы: /S"Server\BaseName".

Для запуска толстого клиента предприятия в монопольном режиме используется параметр /C с передачей строки запуска, а также

Монопольный режим для клиент-серверной базы

В клиент-серверном варианте управлять подключениями удобнее через консоль кластера серверов 1С. Откройте утилиту администрирования сервера, найдите нужную информационную базу и откройте её свойства. Там есть параметры блокировки: флаг «Блокировка регламентных заданий включена» и, главное, «Блокировка начала сеансов включена» с указанием времени начала и окончания, а также кодом разрешения доступа.

Порядок действий такой: установите блокировку начала сеансов, задайте код разрешения (произвольную строку), дождитесь завершения активных сеансов или завершите их принудительно через вкладку «Сеансы» в консоли. После этого база фактически работает в монопольном состоянии — новые сеансы без кода разрешения не стартуют.

Чтобы самому подключиться к заблокированной базе, запустите конфигуратор или клиент с параметром /UC"код_разрешения". Этот код пропускает ваше подключение, сохраняя блокировку для остальных. После завершения работ не забудьте снять блокировку в консоли кластера, иначе пользователи не смогут войти в базу.

Принудительное завершение сеансов — крайняя мера. Если у пользователя были несохраненные данные, они будут потеряны. Поэтому перед обслуживанием базы заранее предупреждайте сотрудников и выбирайте нерабочее время.

Как снять монопольный режим и решить ошибки занятости

Частая ситуация: база «зависла» в монопольном режиме, и пользователи не могут войти — появляется сообщение о невозможности установки соединения или о блокировке сеансов. Причины бывают разные, и действия зависят от типа базы.

Для клиент-серверной базы проверьте консоль кластера: возможно, осталась включенной блокировка начала сеансов после регламентных работ. Снимите флаг блокировки, очистите код разрешения — и пользователи смогут войти.

Для файловой базы монопольный режим держит конкретный сеанс. Если «виновник» неизвестен, проверьте наличие запущенных процессов 1cv8.exe на компьютерах, где база открыта по сети. Также блокировку может создавать поврежденный сеанс — тогда помогает перезапуск процессов или, в крайнем случае, перезагрузка компьютера, на котором открыта база.

Если при попытке установить монопольный режим появляется ошибка «Каталог базы данных занят другим приложением», проверьте, не открыта ли база в другом экземпляре конфигуратора или предприятия, не запущены ли фоновые задания и регламентные операции обмена.

Типичные ошибки
01
Забыть снять блокировку сеансов в консоли кластера — утром пользователи не смогут войти в базу
02
Запустить обновление конфигурации без резервной копии — при сбое реструктуризации данные можно потерять
03
Пытаться установить монопольный режим при активных сеансах вместо предварительного завершения работы пользователей
04
Хранить пароль администратора в открытом виде в bat-файле, доступном всем сотрудникам
05
Путать блокировку регламентных заданий с блокировкой сеансов — это разные параметры в консоли кластера

Проверка результата и безопасные правила работы

После установки монопольного режима убедитесь, что он действительно активен. В конфигураторе файловой базы откройте «Администрирование» → «Активные пользователи» — в списке должен быть только ваш сеанс. В клиент-серверной базе проверьте вкладку «Сеансы» в консоли кластера: посторонних подключений быть не должно.

Признак того, что монопольный режим работает корректно: операции обновления конфигурации, тестирования и загрузки данных выполняются без ошибок разделенного доступа. Если операция снова завершается ошибкой блокировки — значит, где-то остался активный сеанс, и его нужно найти до повторной попытки.

Сформулируем безопасные правила: всегда делайте резервную копию перед операциями в монопольном режиме, предупреждайте пользователей заранее, проводите обслуживание в нерабочее время и фиксируйте, какие блокировки вы установили, чтобы гарантированно их снять.

Контрольные точки

Как проверить результат

Список активных пользователей в конфигураторе
Норма

В списке только ваш сеанс

Тревожный признак

Есть другие сеансы — монопольный режим не установится

Блокировка сеансов в консоли кластера после работ
Норма

Флаг блокировки снят, код разрешения очищен

Тревожный признак

Блокировка осталась — пользователи не войдут в базу

Выполнение обновления конфигурации
Норма

Операция завершается без ошибок разделенного доступа

Тревожный признак

Ошибка конфликта блокировок — ищите активный сеанс

Ответы на частые вопросы

Можно ли запустить монопольный режим, не выгоняя пользователей?

Нет. Монопольный доступ по определению требует, чтобы в базе остался только один сеанс. Для клиент-серверной базы можно установить блокировку новых сеансов и дождаться, пока пользователи выйдут сами, либо завершить их сеансы принудительно через консоль кластера.

Чем отличается монопольный режим от блокировки сеансов?

Блокировка сеансов — это настройка кластера серверов, запрещающая новые подключения. Монопольный режим — состояние конкретного сеанса с эксклюзивным доступом к базе. На практике для клиент-серверной базы их комбинируют: блокировка не пускает пользователей, а ваш сеанс с кодом разрешения работает монопольно.

Что делать, если база осталась в монопольном режиме после сбоя?

Для клиент-серверной базы снимите блокировку сеансов в консоли кластера. Для файловой — найдите и завершите зависший процесс 1cv8.exe, который держит базу. Если сеанс «завис» на сервере, помогает перезапуск службы агента сервера 1С.

Нужен ли монопольный режим для обновления платформы?

Обновление самой платформы (установка новой версии 1cv8) не требует монопольного режима, но требует завершения всех сеансов на обновляемом компьютере или сервере. Монопольный режим нужен для обновления конфигурации базы данных, которое часто выполняется после смены релиза.

Можно ли автоматизировать монопольное обслуживание по расписанию?

Да. Типовая схема: скрипт устанавливает блокировку сеансов через RAS или вручную в консоли, затем запускает конфигуратор в пакетном режиме с нужной командой (например, выгрузку.dt или обновление), после чего снимает блокировку. Такой сценарий обычно запускают ночью через планировщик задач Windows.

Итог

Что важно запомнить

Монопольный режим требует отсутствия других сеансов в базе. Для файловой базы используйте конфигуратор и контроль активных пользователей, для клиент-серверной — блокировку сеансов в консоли кластера с кодом разрешения. Перед обслуживанием делайте резервную копию, после — обязательно снимайте блокировки.