← На главную
При выполнении обновления конфигураций на базе Библиотеки стандартных подсистем (включая «1С:Бухгалтерию предприятия 3.0») в режиме «1С:Предприятие» нередко возникают внештатные ситуации: внезапно выключается питание, зависает или перезагружается клиентский компьютер. При попытке повторного входа администратор сталкивается с сообщением «Ошибка разделенного доступа» или оповещением о том, что база заблокирована. Разберем механику выполнения обновления в клиент-серверном режиме, выясним, завершится ли процесс корректно при потере связи с клиентом, и рассмотрим пошаговые сценарии восстановления доступа к базе.
Механика выполнения обновления в клиент-серверном варианте
Проанализируем, как устроен процесс применения обновлений в современных типовых конфигурациях. После того как в конфигураторе завершено обновление структуры метаданных и база запущена в режиме «1С:Предприятие», стартуют обработчики обновления данных:
- На стороне сервера «1С:Предприятия» автоматически создается сеанс с типом Фоновое задание.
- Все основные процедуры реструктуризации и заполнения служебных данных выполняются непосредственно процессами кластера серверов 1С во взаимодействии с СУБД (MS SQL, PostgreSQL и др.).
- Клиентское приложение (тонкий или толстый клиент) выступает лишь средством инициализации и визуального мониторинга. Оно опрашивает сервер о прогрессе выполнения операции.
- На время работы фоновых обработчиков система включает технологическую блокировку начала сеансов, чтобы исключить вмешательство рядовых пользователей в незавершенные структуры данных.
Таким образом, аварийное завершение работы клиентского ПК не прерывает работу серверного процесса. Сервер кластера продолжает исполнять фоновое задание до полного завершения всех процедур обновления.
Как проверить состояние и дождаться завершения фонового задания
Если при попытке войти в базу появляется сообщение об ошибке разделенного доступа или активной блокировке, выполним диагностику текущего состояния через консоль администрирования кластера серверов «1С:Предприятия»:
- Откроем консоль администрирования кластера серверов 1С.
- Перейдем в ветку нужной информационной базы и раскроем список
Сеансы.
- Найдем сеанс с типом
Фоновое задание. Посмотрим на показатели его активности (время работы, процессорное время, объем прочитанных и записанных данных СУБД).
- Если показатели активности изменяются, значит, обработчики продолжают штатную работу. В этой ситуации оптимальное решение — дождаться завершения фонового задания без принудительного вмешательства.
Действия для принудительного входа в заблокированную базу
Если фоновое задание уже завершилось, но блокировка сеансов не снялась автоматически, либо если требуется войти под учетной записью администратора для контроля процесса, используем штатные средства обхода блокировки.
- Запуск с кодом разрешения: при установке блокировки подсистема БСП задает код разрешения (по умолчанию или указанный администратором). Чтобы запустить сеанс в обход запрета, укажем параметр запуска
/UC <КодРазрешения> в дополнительных параметрах строки запуска информационных баз в стартере 1С.
- Снятие блокировки через консоль кластера: в свойствах информационной базы в консоли серверов 1С снимем флаг «Блокировка начала сеансов включена» и очистим поле «Код разрешения».
Что делать, если фоновое задание зависло или завершилось с ошибкой
Разберем ситуацию, когда фоновое задание аварийно прервалось (например, из-за перезагрузки самого сервера СУБД) либо зависло без признаков активности:
- В консоли кластера серверов завершим зависший сеанс фонового задания принудительно.
- Войдем в базу в режиме «1С:Предприятие» под учетной записью администратора.
- При стандартном запуске БСП зафиксирует незавершенное состояние процедур обновления и автоматически предложит перезапустить обработчики.
- Если автоматический старт не произошел, выполним принудительный запуск обновления через командную строку, указав параметр
/C ЗапуститьОбновлениеИнформационнойБазы.
- Проверим корректность завершения всех этапов в форме «Результаты обновления программы» (раздел
Администрирование — Обслуживание). При необходимости отложенные обработчики можно запустить вручную командой выполнения без разделения на фоновые задания.
- Состояние конкретных процедур также можно проконтролировать непосредственно в служебных регистрах сведений
ОбработчикиОбновления и ВерсииПодсистем.