Рассмотрим ситуацию, с которой часто сталкиваются администраторы распределенных информационных баз (РИБ) в 1С. При попытке выполнить обновление периферийных узлов обмен прерывается критической ошибкой: «База данных РИБ заблокирована». При этом система явно указывает на сеанс, под которым выполняется этот самый обмен. Проблема особенно актуальна для конфигураций уровня «Розница» (например, версии 2.2) при использовании платформы линейки 8.3.13 (в частности, 8.3.13.1644) в файловом варианте работы базы.
Стандартные действия, такие как простая перезагрузка компьютера, чистка кэша или удаление временных файлов, в данном случае обычно не приносят должного результата. Структурные изменения (например, снятие с поддержки и добавление нового справочника) могут однократно пройти успешно, но при следующем же автоматическом обмене ошибка возвращается. Разберем подробнее, почему так происходит.
Проанализируем специфику работы платформы в данном сценарии. Линейка платформ 1С:Предприятие 8.3.13 имела ряд известных сложностей при работе с распределенными базами, особенно файлового типа. Основные причины возникновения ошибки блокировки:
1cv8.exe, а в каталоге базы сохраняется файл жесткой блокировки.Если вы столкнулись с подобной ситуацией, посмотрим на несколько эффективных путей решения проблемы. Мы рекомендуем начать с устранения физических блокировок и настройки фоновых заданий, а затем рассмотреть вопрос смены релиза платформы.
Прежде чем менять настройки базы, необходимо убедиться, что зависших процессов больше нет. Выполните следующие действия на компьютере проблемного узла:
1cv8.exe.1Cv8.1CL (внимание: удаляйте только этот файл, не трогайте 1Cv8.1CD, так как это сама база данных!).Чтобы избежать запуска регламентных заданий во время обновления узла, нам нужно запретить платформе их выполнение на время применения изменений. Посмотрим на два способа, как это сделать:
Способ А: Использование параметра запуска
Для запуска базы без фоновых заданий добавьте в параметры запуска информационной базы (в окне запуска 1С кнопка "Изменить" -> последняя вкладка "Дополнительные параметры запуска") следующий ключ:
/AllowExecuteScheduledJobs -Off
Запустите базу с этим ключом и выполните загрузку сообщения обмена вручную. После успешного обновления структуры ключ можно будет убрать.
Способ Б: Ручное отключение в настройках
Временно отключите автоматическую синхронизацию данных (регламентные задания) в главном узле и на всех точках. Проведите обмен в ручном режиме. После того как конфигурации во всех узлах успешно обновятся, автоматический обмен можно включить обратно.
Как мы уже выяснили, ядро проблемы кроется в самом релизе 8.3.13.1644. Многие специалисты на практике обходят эту ошибку путем смены версии платформы.
Откат на стабильную версию (даунгрейд): В рамках обсуждений часто упоминается, что возврат на версию 8.3.12.1790 полностью решает проблему блокировок в РИБ. Однако следует учитывать, что современные конфигурации (такие как "Розница 2.2" актуальных версий) требуют для полноценной работы режим совместимости не ниже 8.3.13, а значит, даунгрейд является лишь временной мерой, которая может привести к отказу части нового функционала.
Обновление на более новую версию (апгрейд): Наиболее правильным и долгосрочным решением будет обновление технологической платформы до более свежих и стабильных релизов (например, линейки 8.3.14, 8.3.15 и выше). В этих версиях разработчики 1С устранили большинство проблем, связанных с блокировками РИБ в файловом режиме и некорректной передачей расширений. Перед массовым обновлением платформы на всех узлах обязательно протестируйте работу обмена на копии базы!
Мы подробно проанализировали ситуацию с ошибкой «база данных заблокирована» в узлах РИБ. Если ваш обмен застопорился, в первую очередь очистите зависшие процессы и файл блокировки 1Cv8.1CL, а затем запустите базу с ключом /AllowExecuteScheduledJobs -Off для ручного применения обновления. Для того чтобы навсегда забыть об этой проблеме, настоятельно рекомендуется запланировать переход с проблемного релиза платформы 8.3.13 на более стабильные актуальные версии.