При работе с крупными прикладными решениями, такими как 1С:Управление производственным предприятием (УПП), администраторы и программисты часто сталкиваются с ситуацией, когда обновление в файловом варианте проходит успешно, а в клиент-серверном (MS SQL) процесс «замирает» на этапе сравнения конфигураций (0%). Проблема усугубляется большим объемом базы (от 50 ГБ и выше) и спецификой работы платформы с тяжелыми метаданными.
В данной статье мы подробно разберем причины такого поведения системы и рассмотрим пошаговые алгоритмы решения проблемы, которые позволят избежать трудоемких выгрузок в .dt и обратно.
Выясним, почему процесс сравнения ведет себя по-разному в разных режимах. В файловом варианте Конфигуратор работает с данными напрямую через файловую систему, что минимизирует накладные расходы на передачу данных. В клиент-серверном варианте процесс сравнения-объединения — это сложная цепочка взаимодействий между Конфигуратором (клиентом), кластером серверов 1С и СУБД SQL Server.
Проанализируем основные факторы, вызывающие «ступор» на 0%:
8.3.15 (особенно ранние сборки) имеют известные проблемы с утечками памяти и неэффективным управлением процессами rphost при работе с большими объемами метаданных.Config и ConfigSave может замедляться из-за неактуальной статистики или неоптимальных планов запросов SQL.Первым делом проанализируем версию платформы. Как отмечается в практике сопровождения УПП, релиз 8.3.15.1489 часто ведет себя нестабильно при обновлении тяжелых конфигураций. Рекомендуем обновить платформу до более свежих веток. Рассмотрим последовательность действий:
Если стандартное обновление через Поддержка -> Обновить конфигурацию на боевой базе зависает, разберем наиболее надежный и быстрый метод «обхода». Вместо того чтобы мучить сервер процессом сравнения на «живой» базе, подготовим файл конфигурации заранее.
Пошаговый алгоритм:
cf-файл текущей конфигурации из рабочей базы.Конфигурация -> Сохранить конфигурацию в файл... (получаем обновленный cf).Конфигурация -> Загрузить конфигурацию из файла... и выберем наш подготовленный cf.Почему это эффективно: При загрузке cf платформа не производит сравнение каждого объекта «на лету» с выводом окна сопоставления. Она просто заменяет структуру таблиц метаданных в SQL, что происходит в разы быстрее и стабильнее.
Часто причиной «залипания» на 0% являются битые индексы кэша метаданных. Разберем, как правильно выполнить очистку:
%AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8.1C:Enterprise 8.3 Server Agent. Перейдем в каталог srvinfo\reg_1541 (путь по умолчанию) и удалим содержимое папки snccntx. Это очистит сеансовые данные и закэшированные метаданные конфигурации.Если база работает на MS SQL, проанализируем настройки сервера. Низкая производительность при работе с системными таблицами Config может блокировать обновление.
Выполним обслуживание системных таблиц перед обновлением. Запустим SQL Server Management Studio и выполним следующий скрипт для обновления статистики:
USE [Имя_Вашей_Базы];
GO
UPDATE STATISTICS Config;
UPDATE STATISTICS ConfigSave;
UPDATE STATISTICS Files;
GO
Также проверим параметр Max Degree of Parallelism (MAXDOP) в настройках SQL Server. Для корректной работы 1С рекомендуется устанавливать его в значение 1. Если там стоит 0, сервер может пытаться распараллелить чтение метаданных, что при больших объемах УПП приводит к взаимным блокировкам (LATCH) внутри самого SQL-движка.
Рассмотрим ситуацию, когда рабочий процесс сервера 1С (rphost) принудительно завершается или «засыпает» из-за превышения лимитов. Проверим настройки в консоли администрирования кластера 1С:
0 (без ограничений) на период обновления.Зависание обновления УПП на 0% в клиент-серверном варианте — это следствие сложности конфигурации и особенностей взаимодействия слоев системы. Наиболее прагматичным решением является подготовка CF-файла в файловом режиме с последующей его загрузкой в серверную базу. Это экономит время и минимизирует риски возникновения непредсказуемых ошибок платформы в процессе сравнения.
Если же вы принципиально хотите использовать штатный механизм обновления, начните с обновления платформы до 8.3.16+ и полного регламентного обслуживания SQL-базы (Statistics, Reindex).