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

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

Как убрать временную блокировку в 1С

Как снять временную блокировку в 1С: причины ошибки, способы удаления блокировки через консоль кластера, код и регламентные задания. Пошаговая инструкция.

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

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

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

Что такое временная блокировка и почему она появляется

Блокировка сеансов — штатный механизм платформы 1С:Предприятие, который запрещает создание новых сеансов с информационной базой. Уже работающие сеансы при этом либо продолжают работу до принудительного завершения, либо завершаются по таймауту, заданному администратором.

Типичные причины установки блокировки:

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

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

Текст ошибки«Установлена временная блокировка»

Содержит ли сообщение текст, заданный администратором, — это подскажет, кто и зачем ставил блокировку

Режим базыФайловый или клиент-серверный

Определяет способ снятия: файл блокировки или консоль кластера

Активные процессыЕсть или нет

Проверьте, не идёт ли обновление конфигурации в данный момент

Проверьте, не занята ли база обслуживанием

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

Признак активного обслуживания в клиент-серверном режиме — работающий процесс конфигуратора с длительной операцией и высокая нагрузка на СУБД. В файловом режиме — открытый конфигуратор у администратора и недоступность базы в монопольном режиме.

Как снять блокировку в клиент-серверной базе через консоль кластера

Это основной и самый безопасный способ для баз, работающих на сервере 1С:Предприятия.

Порядок действий
  1. 1
    Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере или рабочем месте администратора
  2. 2
    Разверните нужный кластер, найдите информационную базу в списке
  3. 3
    Откройте свойства базы (правый клик — «Свойства»)
  4. 4
    Снимите флаг «Блокировка начала сеансов включена» или очистите параметры блокировки
  5. 5
    Нажмите «ОК» и проверьте вход пользователя в базу

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

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

Как снять блокировку в файловой базе

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

При установке блокировки администратор может указать код разрешения — строку, с которой разрешён вход. Запустите 1С с параметром командной строки /UC код, и сеанс будет создан в обход блокировки. После входа снимите блокировку штатными средствами конфигурации.

text
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Bases\Trade" /N Администратор /UC 12345

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

Программное снятие блокировки через встроенный язык

Управление блокировкой доступно из встроенного языка 1С. Текущее состояние возвращает функция ПолучитьБлокировкуСеансов(), а установка выполняется методом УстановитьБлокировкуСеансов().

bsl
Блокировка = ПолучитьБлокировкуСеансов();
Если Блокировка.Установлена Тогда
    НоваяБлокировка = Новый БлокировкаСеансов;
    НоваяБлокировка.Установлена = Ложь;
    УстановитьБлокировкуСеансов(НоваяБлокировка);
КонецЕсли;

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

Что делать с зависшими сеансами пользователей

Иногда проблема выглядит как блокировка, но на самом деле база недоступна из-за зависших сеансов, удерживающих монопольный режим или соединения с СУБД. Это характерно для ситуаций, когда компьютер пользователя выключился некорректно, а сеанс на сервере остался активным.

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

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

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

Вход пользователя
Норма

Пользователь входит в базу штатно, без сообщения о блокировке

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

Ошибка блокировки сохраняется — проверьте, не установлена ли она повторно регламентным заданием

Список сеансов
Норма

В консоли кластера видны только реальные активные пользователи

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

Остаются зависшие сеансы от выключенных компьютеров

Свойства базы
Норма

Флаг блокировки сеансов снят

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

Флаг снова установлен — ищите процесс, который его ставит

Почему блокировка появляется снова и как это исправить

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

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

Типичные ошибки
01
Снятие блокировки во время обновления конфигурации — пользователи входят в полуобновлённую базу, данные повреждаются
02
Массовое завершение всех сеансов без разбора — теряются несохранённые данные работающих пользователей
03
Попытка «вылечить» блокировку перезагрузкой сервера — сеансы сбрасываются, но флаг блокировки остаётся
04
Игнорирование журнала регистрации — без анализа причины блокировка появляется снова

Как избежать проблем с блокировкой в будущем

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

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

Итог

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

Блокировка снимается через свойства информационной базы в консоли кластера, кодом разрешения /UC при запуске или методом УстановитьБлокировкуСеансов(Ложь). Сначала убедитесь, что не идёт обслуживание, а после снятия проверьте журнал регистрации, чтобы блокировка не вернулась.

Частые вопросы

Что означает сообщение «Установлена временная блокировка сеансов» при входе?

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

Можно ли войти в заблокированную базу, не снимая блокировку?

Да, если при установке блокировки задан код разрешения. Запустите 1С с параметром командной строки /UC с этим кодом — сеанс будет создан в обход ограничения. Так работают администраторы во время обслуживания.

Блокировка снята, но пользователи всё равно не могут войти. В чём причина?

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

Поможет ли перезагрузка сервера 1С снять блокировку?

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

Кто имеет право снимать блокировку сеансов?

Администратор кластера серверов 1С или администратор информационной базы. Программное снятие требует права «Администрирование» у пользователя. Обычный пользователь снять блокировку не может.

Как узнать, кто установил блокировку?

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