Администрирование · 10 мин
Как сделать блокировку базы 1С
Как установить блокировку базы 1С через конфигуратор и консоль кластера: установка соединений, завершение сеансов, код разрешения, снятие блокировки.
Блокировка информационной базы 1С нужна всякий раз, когда требуется монопольный доступ к данным: обновление конфигурации, загрузка данных, регламентные операции, восстановление после сбоя. Правильно установленная блокировка запрещает новые подключения пользователей и позволяет завершить уже активные сеансы, не повреждая данные.
Способ блокировки зависит от режима работы базы. Для файловой базы используется параметр запуска конфигуратора или специальная обработка, для клиент-серверной — консоль администрирования кластера серверов 1С. В обоих случаях доступны одинаковые настройки: сообщение для пользователей, код разрешения, время начала и окончания блокировки.
Ниже разобраны оба сценария с точными действиями, проверкой результата и типичными ошибками. Все операции выполняются под учётной записью с правами администратора информационной базы.
Что такое блокировка базы и когда она нужна
Блокировка начала сеансов — это штатный механизм платформы 1С:Предприятие, который запрещает создание новых подключений к информационной базе. При попытке входа пользователь видит заданное администратором сообщение, например: «Выполняется обновление, база будет доступна с 14:00». Уже работающие сеансы при этом не разрываются автоматически — их нужно завершать отдельно.
Стандартные ситуации, когда блокировка обязательна:
- обновление конфигурации с реструктуризацией базы данных;
- загрузка или выгрузка данных через конфигуратор;
- тестирование и исправление информационной базы;
- массовая обработка данных, где параллельная работа пользователей приведёт к конфликтам;
- восстановление базы из резервной копии.
Блокировка не заменяет резервное копирование. Перед любой операцией, требующей монопольного доступа, сделайте выгрузку в файл .dt или копию средствами СУБД.
Блокировка клиент-серверной базы через консоль кластера
Основной инструмент администратора серверной 1С — консоль управления кластером (оснастка «Администрирование серверов 1С:Предприятия» или кроссплатформенная консоль RAC). Порядок действий одинаков для большинства версий платформы.
- 1Откройте консоль администрирования серверов 1С и разверните нужный кластер
- 2В ветке «Информационные базы» найдите базу и откройте её свойства (правый клик → «Свойства»)
- 3Установите флаг «Блокировка начала сеансов включена»
- 4Введите сообщение для пользователей — оно показывается при попытке входа
- 5Задайте код разрешения — по нему администратор сможет войти в заблокированную базу
- 6При необходимости укажите время начала и окончания блокировки
- 7Сохраните свойства и проверьте вход под обычным пользователем
Время начала блокировки позволяет запланировать её заранее: например, установить флаг днём, а сработает она в 20:00, когда пользователи уже ушли. Время окончания снимает блокировку автоматически — это страховка на случай, если администратор забудет её отключить.
Код разрешения — произвольная строка. Пользователь, знающий код, входит в заблокированную базу, добавив параметр запуска /UC код в строку запуска или в дополнительные параметры ярлыка. Храните код отдельно от общедоступных инструкций, иначе блокировка теряет смысл.
Завершение активных сеансов
Блокировка не выгоняет тех, кто уже работает. Чтобы получить монопольный доступ, в консоли кластера откройте ветку «Сеансы», отфильтруйте список по нужной базе и удалите сеансы (правый клик → «Удалить»). Перед этим отправьте пользователям сообщение через ветку «Сеансы» или корпоративный канал связи с просьбой завершить работу.
Фоновые задания завершаются в ветке «Сеансы» вместе с пользовательскими либо останавливаются отдельно через список фоновых заданий базы. Незавершённые фоновые задания тоже мешают монопольному режиму.
Блокировка файловой базы
У файловой базы нет консоли кластера, поэтому блокировка устанавливается иначе. Самый надёжный способ — запретить новые подключения через параметр запуска конфигуратора с кодом блокировки:
1cv8.exe DESIGNER /F"C:\Bases\Trade" /UC 12345После запуска конфигуратора с параметром /UC новые сеансы тонкого и толстого клиента не смогут подключиться к базе, пока конфигуратор открыт. Это удобно для коротких операций: обновление, тестирование и исправление.
В типовых конфигурациях (БСП) есть штатный механизм: раздел «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Он устанавливает константу блокировки, показывает пользователям сообщение и позволяет завершить сеансы. Механизм работает и в файловом, и в клиент-серверном режиме, но действует только внутри конкретной конфигурации — внешние подключения (COM, веб-сервисы) он не останавливает.
Сравнение способов блокировки
Полный контроль над серверной базой: блокировка, сеансы, фоновые задания. Требует доступа к серверу администрирования.
Простой способ для файловой базы. Действует, пока открыт конфигуратор; не завершает активные сеансы.
Удобно для администратора без доступа к серверу. Не защищает от внешних подключений и зависит от конфигурации.
Как войти в заблокированную базу и снять блокировку
Для входа под кодом разрешения добавьте в ярлык запуска параметр /UC код или укажите его в дополнительных параметрах запуска в списке информационных баз (кнопка «Изменить» → «Дополнительные параметры запуска»). В клиент-серверном варианте строка выглядит так: /S"Server\Base" /UC 12345.
Снятие блокировки выполняется там же, где она устанавливалась. В консоли кластера откройте свойства базы и снимите флаг «Блокировка начала сеансов включена». В типовой конфигурации — отключите блокировку в разделе обслуживания. Если задано время окончания, блокировка снимется сама, но после успешного обновления лучше отключить её вручную и сразу проверить вход обычного пользователя.
Как проверить результат
Появляется заданное сообщение, сеанс не создаётся
Пользователь входит в базу — флаг не сохранён или изменена не та база
Сеанс открывается штатно
Ошибка входа — код введён с опечаткой или лишним пробелом
Активных сеансов и фоновых заданий нет
Остались сеансы — монопольный режим не установится
Блокировка через скрипты и пакетный режим
Для регулярных операций (ночные обновления, регламентные выгрузки) блокировку удобно автоматизировать. Утилита администрирования кластера rac позволяет управлять свойствами базы из командной строки или скрипта.
rac infobase update --cluster=<ID_кластера> --infobase=<ID_базы> --sessions-deny=on --permission-code=12345 --denied-message="Идёт обновление базы"Идентификаторы кластера и базы получают командами rac cluster list и rac infobase summary list. Скрипт обычно включает: включение блокировки, ожидание завершения сеансов, принудительное удаление оставшихся сеансов, обновление конфигурации в пакетном режиме конфигуратора, снятие блокировки. Лог каждого шага сохраняйте в файл — при сбое ночного обновления это единственный способ понять, на каком этапе всё остановилось.
Типичные ошибки и ограничения
Большинство проблем с блокировкой связано не с самим механизмом, а с нарушением последовательности действий.
Отдельное ограничение касается фоновых заданий: регламентные задания, запланированные на время блокировки, не выполнятся, а просроченные задания запустятся сразу после снятия блокировки. Если после обновления база внезапно «загружена» фоновыми процессами — это, скорее всего, догоняющие регламентные задания.
Что важно запомнить
Серверная база блокируется через свойства информационной базы в консоли кластера, файловая — параметром /UC или штатной обработкой БСП. Обязательно задавайте сообщение и код разрешения, перед операцией завершайте сеансы, после — снимайте блокировку и проверяйте вход обычного пользователя. Резервная копия перед монопольными работами обязательна.
Частые вопросы
Как заблокировать базу, если нет доступа к консоли кластера?
Используйте штатный механизм типовой конфигурации: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Он доступен пользователю с ролью администратора прямо из режима Предприятия. Учтите, что такой способ не останавливает внешние подключения к серверной базе.
Пользователи всё равно входят в базу после включения блокировки. Почему?
Проверьте, что изменения сохранены именно в той базе: в консоли кластера часто путают базы с похожими именами. Также убедитесь, что пользователи не входят с кодом разрешения и что время начала блокировки не сдвинуто в будущее.
Что делать, если забыт код разрешения?
Для клиент-серверной базы администратор кластера меняет код в свойствах информационной базы без входа в неё. Для файловой базы, заблокированной конфигуратором, достаточно закрыть сеанс конфигуратора, который удерживает блокировку.
Завершаются ли сеансы автоматически при включении блокировки?
Нет. Блокировка запрещает только новые подключения. Активные сеансы нужно завершать отдельно — через ветку «Сеансы» консоли кластера или команду rac session terminate. Перед принудительным завершением предупредите пользователей.
Можно ли запланировать автоматическое снятие блокировки?
Да. В свойствах базы в консоли кластера есть параметр времени окончания блокировки — по его наступлении новые сеансы снова разрешены. Это полезная страховка на случай, если администратор забудет снять блокировку вручную после ночного обновления.
Мешает ли блокировка регламентным заданиям?
Да, при включённой блокировке сеансов регламентные задания не запускаются. Просроченные задания выполнятся после снятия блокировки, поэтому сразу после обновления возможен всплеск фоновой активности — это нормально.