Что делать, если перезагрузился компьютер во время обновления 1С:Бухгалтерии 3.0 на сервере СУБД?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

Механика выполнения обновления в клиент-серверном варианте

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

  1. На стороне сервера «1С:Предприятия» автоматически создается сеанс с типом Фоновое задание.
  2. Все основные процедуры реструктуризации и заполнения служебных данных выполняются непосредственно процессами кластера серверов 1С во взаимодействии с СУБД (MS SQL, PostgreSQL и др.).
  3. Клиентское приложение (тонкий или толстый клиент) выступает лишь средством инициализации и визуального мониторинга. Оно опрашивает сервер о прогрессе выполнения операции.
  4. На время работы фоновых обработчиков система включает технологическую блокировку начала сеансов, чтобы исключить вмешательство рядовых пользователей в незавершенные структуры данных.

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

Как проверить состояние и дождаться завершения фонового задания

Если при попытке войти в базу появляется сообщение об ошибке разделенного доступа или активной блокировке, выполним диагностику текущего состояния через консоль администрирования кластера серверов «1С:Предприятия»:

  1. Откроем консоль администрирования кластера серверов 1С.
  2. Перейдем в ветку нужной информационной базы и раскроем список Сеансы.
  3. Найдем сеанс с типом Фоновое задание. Посмотрим на показатели его активности (время работы, процессорное время, объем прочитанных и записанных данных СУБД).
  4. Если показатели активности изменяются, значит, обработчики продолжают штатную работу. В этой ситуации оптимальное решение — дождаться завершения фонового задания без принудительного вмешательства.

Действия для принудительного входа в заблокированную базу

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

  1. Запуск с кодом разрешения: при установке блокировки подсистема БСП задает код разрешения (по умолчанию или указанный администратором). Чтобы запустить сеанс в обход запрета, укажем параметр запуска /UC <КодРазрешения> в дополнительных параметрах строки запуска информационных баз в стартере 1С.
  2. Снятие блокировки через консоль кластера: в свойствах информационной базы в консоли серверов 1С снимем флаг «Блокировка начала сеансов включена» и очистим поле «Код разрешения».

Что делать, если фоновое задание зависло или завершилось с ошибкой

Разберем ситуацию, когда фоновое задание аварийно прервалось (например, из-за перезагрузки самого сервера СУБД) либо зависло без признаков активности:

  1. В консоли кластера серверов завершим зависший сеанс фонового задания принудительно.
  2. Войдем в базу в режиме «1С:Предприятие» под учетной записью администратора.
  3. При стандартном запуске БСП зафиксирует незавершенное состояние процедур обновления и автоматически предложит перезапустить обработчики.
  4. Если автоматический старт не произошел, выполним принудительный запуск обновления через командную строку, указав параметр /C ЗапуститьОбновлениеИнформационнойБазы.
  5. Проверим корректность завершения всех этапов в форме «Результаты обновления программы» (раздел Администрирование — Обслуживание). При необходимости отложенные обработчики можно запустить вручную командой выполнения без разделения на фоновые задания.
  6. Состояние конкретных процедур также можно проконтролировать непосредственно в служебных регистрах сведений ОбработчикиОбновления и ВерсииПодсистем.
← На главную