Обновление доработанных конфигураций 1С, особенно при необходимости «перепрыгнуть» через десяток релизов, — задача трудоемкая и рискованная. В данной статье мы подробно проанализируем ситуацию на примере базы «1С:Розница» объемом 15 Гб, работающей на MS SQL Server. Разберем технические приемы оптимизации СУБД, настройки сервера приложений 1С и административные шаги, которые помогут значительно сократить время простоя системы.
Для ускорения процесса реструктуризации данных, который является основной частью обновления конфигурации, необходимо временно изменить настройки базы данных. Проанализируем основные параметры:
Full SQL Server записывает каждое изменение в журнал транзакций (LDF), что при массовой реструктуризации таблиц приводит к огромным нагрузкам на диск и риску переполнения лога. Переключение в Simple минимизирует эти записи. Не забудьте вернуть режим Full после завершения работ и сделать полную резервную копию.1. Однако во время обновления, когда создаются новые индексы и перестраиваются таблицы, выгодно выставить MAXDOP в значение 0 (использовать все ядра) или 4-8 в зависимости от мощности сервера. Это позволит SQL Server распараллелить тяжелые операции.TempDB. Рассмотрим рекомендации по её ускорению: вынесите файлы TempDB на самый быстрый диск (NVMe/SSD) и разделите её на несколько файлов (обычно 4 или 8) одинакового размера. Это исключит узкое место при записи во временные таблицы.Одной из частых проблем при обновлении является автоматический запуск фоновых и регламентных заданий. Это может привести к блокировкам таблиц или ошибкам исполнения программного кода, если структура базы еще не полностью приведена в соответствие с новой конфигурацией. Проанализируем, как этого избежать:
Блокировка регламентных заданий: Перед началом обновления в консоли администрирования серверов 1С необходимо зайти в свойства информационной базы и установить флаг «Блокировка регламентных заданий включена». Это предотвратит запуск фоновых процессов, которые могут мешать монопольному доступу или вызывать ошибки типа Слишком много фактических параметров при первом запуске после обновления конфигурации.
Рассмотрим ситуацию, описанную в практике: иногда после обновления конфигурации базы данных фоновые задания пытаются запуститься «самостоятельно» до того, как завершатся все процедуры обновления в режиме Предприятия. В этом случае блокировка в консоли — единственный надежный способ обеспечить стабильность процесса.
Если вам нужно обновить базу на 10 и более релизов, последовательное выполнение каждого обновления (.cfu) на рабочей базе займет слишком много времени. Разберем более эффективный алгоритм:
cf через один или несколько шагов..cf)..cf в рабочую базу и запускаем реструктуризацию один раз. Это существенно экономит время на операциях сравнения-объединения.Начиная с версии платформы 8.3.11, появилась возможность использовать новый механизм реструктуризации. В параметрах информационной базы или через файл conf.cfg можно включить режим UpdateDBSettingsStrategy=V2. Рассмотрим подробнее преимущества и риски:
Преимущества: Процесс проходит значительно быстрее за счет иного алгоритма работы с временными таблицами в SQL. В некоторых случаях время сокращается в 3-5 раз.
Риски: Как отмечалось в обсуждении, этот процесс в случае сбоя может быть необратимым. В отличие от стандартного механизма, который сначала готовит изменения, а потом применяет их, версия V2 более агрессивна. Перед её использованием обязательно наличие актуального бэкапа и проверка целостности базы (DBCC CHECKDB).
Если вы работаете удаленно по RDP, ваша скорость работы напрямую зависит от ресурсов, выделенных сессии и серверу 1С. Выясним, о чем стоит договориться с администраторами:
rphost.exe, sqlservr.exe, а также папки с данными SQL (.mdf, .ldf), временные папки сервера 1С и каталоги TempDB. Сканирование этих файлов во время записи может замедлить процесс обновления на 30-50%.Shared Memory. Это позволит процессам обмениваться данными через оперативную память, минуя сетевой стек.После того как конфигурация обновлена, наступает этап выполнения «обработок обновления» через Библиотеку Стандартных Подсистем (БСП). В современных версиях «1С:Розница» (начиная с 2.3) этот процесс можно ускорить:
Зайдите в раздел Администрирование — Обслуживание — Результаты обновления программы. Там доступна настройка Количество потоков обновления данных. По умолчанию стоит значение 1. Если ресурсы сервера позволяют, установите 4 или 8 потоков. Это позволит системе одновременно обрабатывать разные объекты (например, пересчитывать цены и заполнять новые реквизиты в документах), что сократит время финального этапа обновления в несколько раз.
Подведем итог: Быстрое обновление — это всегда баланс между подготовкой (создание эталонного CF на копии) и технической мощью (настройка SQL). Выполняя эти шаги, вы сможете обновить даже сильно доработанную «Розницу» за минимально возможное время.