К статье
Практический материал

Администрирование · 11 мин

Как одновременно обновить несколько баз 1С

Как обновить несколько баз 1С одновременно: пакетное обновление через конфигуратор, скрипты и специализированные утилиты, подготовка, бэкапы и контроль ошибок.

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

Задача решается пакетным обновлением: базы обновляются одной группой по заранее подготовленному сценарию. В зависимости от масштаба используют три подхода — встроенный механизм обновления через конфигуратор с общим шаблоном, пакетные скрипты командной строки и специализированные утилиты автоматизации. Каждый из них имеет свои условия применения и ограничения.

Ниже разобрано, как подготовить базы к одновременному обновлению, какие инструменты выбрать, как организовать процесс и как проверить, что все базы обновились корректно. Материал ориентирован на администраторов 1С, работающих с файловыми и клиент-серверными базами на платформе 8.3.

Подготовка: что проверить перед пакетным обновлением

Первое условие — все базы должны работать на одной и той же версии платформы 1С. Если часть баз запущена на 8.3.22, а часть на 8.3.24, обновление конфигурации пройдёт, но пользователи со старой платформой могут столкнуться с несовместимостью, если новый релиз конфигурации требует более свежую платформу. Проверьте требования релиза в файле поставки и при необходимости сначала обновите платформу на сервере и всех клиентских машинах.

Второе условие — резервные копии. Перед пакетным обновлением сделайте выгрузку каждой базы в файл .dt или полноценный бэкап средствами СУБД для клиент-серверных баз. Убедитесь, что копии действительно создались и имеют ненулевой размер. Назначение копий — не формальность: при сбое реструктуризации на одной из баз восстановление из копии будет единственным способом вернуть данные.

Третье условие — монопольный доступ. Обновление конфигурации базы данных требует, чтобы в базе не было активных сеансов пользователей и фоновых заданий. Составьте список всех баз с указанием, где они расположены (файловый каталог или сервер 1С), кто отвечает за завершение сеансов и в какое время обновление согласовано с пользователями.

Способ 1: обновление через конфигуратор с общим шаблоном

Если баз немного (до 5–7) и все они однотипные — например, несколько копий «1С:Бухгалтерии» для разных организаций, — подойдёт полуручной вариант. Обновление разворачивается один раз в каталог шаблонов, а затем применяется к каждой базе через конфигуратор: меню «Конфигурация → Поддержка → Обновить конфигурацию» с выбором файла из шаблона.

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

Ограничение способа очевидно: каждую базу администратор открывает и обновляет вручную, поэтому на десятке баз он уже становится неэффективным. Кроме того, ручная работа повышает риск человеческой ошибки — пропущенной базы или неверно выбранного шаблона.

Способ 2: пакетное обновление через командную строку

Основной рабочий инструмент для одновременного обновления — пакетный режим конфигуратора. Конфигуратор 1С умеет запускаться из командной строки с параметрами, которые выполняют обновление без открытия интерфейса. Это позволяет написать скрипт, который последовательно или параллельно обрабатывает список баз.

Ключевые параметры запуска: DESIGNER — режим конфигуратора, /F или /S — путь к файловой базе или адрес серверной, /N и /P — имя и пароль пользователя с правами администратора, /UpdateCfg — обновление конфигурации из файла .cf или .cfu, /UpdateDBCfg — обновление конфигурации базы данных, /DisableStartupDialogs — отключение стартовых диалогов, /Out — файл журнала для анализа результата.

batch
"C:\Program Files\1cv8\8.3.24.1467\bin\1cv8.exe" DESIGNER /F "D:\Bases\Base01" /N Admin /P secret /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg /DisableStartupDialogs /Out "D:\Logs\Base01.log"

Простейший сценарий — bat-файл, в котором перечислены команды для каждой базы. Команды выполняются последовательно: пока не завершится обновление одной базы, не начнётся следующая. Для 10–20 баз это уже существенная экономия времени, потому что процесс идёт без участия администратора и может запускаться ночью через планировщик заданий Windows.

Последовательный или параллельный запуск

Для файловых баз безопаснее последовательный запуск: параллельная реструктуризация нескольких файловых баз на одном диске упирается в производительность дисковой подсистемы и может привести к тайм-аутам. Для клиент-серверных баз на мощном сервере СУБД допустим параллельный запуск 2–4 процессов через команду start в bat-файле, но каждый процесс должен работать со своей базой — одна база никогда не обновляется двумя процессами одновременно.

Порядок действий при пакетном обновлении
  1. 1
    Сделайте резервные копии всех баз и проверьте их наличие
  2. 2
    Убедитесь, что версия платформы на сервере и клиентах соответствует требованиям релиза
  3. 3
    Завершите сеансы пользователей и отключите регламентные задания во всех базах
  4. 4
    Подготовьте файл обновления .cfu и bat-скрипт со списком баз
  5. 5
    Запустите скрипт и дождитесь завершения всех процессов
  6. 6
    Проверьте логи каждой базы на наличие ошибок
  7. 7
    Выполните тестовый вход в каждую базу и проверьте номер версии конфигурации

Способ 3: специализированные утилиты и обновляторы

Для организаций с десятками баз существуют сторонние утилиты-обновляторы, которые автоматизируют весь цикл: скачивание обновлений с портала 1С, создание архивных копий, завершение сеансов, пакетное обновление по расписанию и отчёт о результатах. Такие инструменты особенно полезны, когда базы разнородные — бухгалтерия, зарплата, торговля — и у каждой свой график выхода релизов.

При выборе утилиты обращайте внимание на поддерживаемые сценарии: работа с клиент-серверными базами, обновление через несколько релизов, обработка нестандартных ситуаций (базы с доработками, снятые с полной поддержки). Утилита не заменяет понимания процесса: если база модифицирована, автоматическое обновление может не пройти, и потребуется ручное сопоставление изменений в конфигураторе.

Сравнение подходов

Конфигуратор вручную

Подходит для 2–5 баз и баз с доработками. Требует личного участия, но даёт полный контроль над каждым шагом.

Bat-скрипт с пакетным режимом

Оптимален для 5–30 однотипных баз. Бесплатен, гибок, но требует навыков написания скриптов и самостоятельного контроля логов.

Специализированная утилита

Оправдана при большом парке баз и регулярных обновлениях. Снижает рутину, но добавляет зависимость от стороннего инструмента.

Особенности клиент-серверных баз и баз с доработками

Клиент-серверные базы обновляются теми же командами, но вместо /F используется параметр /S с указанием сервера и имени базы, например /S "server\Base01". Дополнительно нужно учитывать блокировку регламентных заданий: перед обновлением их следует отключить в консоли кластера, иначе фоновое задание может стартовать в момент реструктуризации и вызвать ошибку.

Базы с доработками — главное ограничение пакетного обновления. Если конфигурация снята с полной поддержки, обновление в автоматическом режиме либо невозможно, либо опасно: типовые объекты перезапишут изменённые. Такие базы исключайте из общего скрипта и обновляйте индивидуально через сравнение и объединение конфигураций с ручной разметкой изменений.

Также учитывайте обработчики обновления данных. После /UpdateDBCfg многие конфигурации при первом запуске выполняют отложенные обработчики — перенос данных, пересчёт итогов. На больших базах это занимает заметное время, поэтому не открывайте базу пользователям сразу после обновления, пока обработчики не завершатся.

Проверка результата и типичные ошибки

После завершения скрипта проверка обязательна — факт завершения процесса не гарантирует успеха. Откройте лог-файлы, указанные в параметре /Out, и убедитесь, что в каждом нет сообщений об ошибках. Затем войдите в каждую базу в пользовательском режиме и сверьте номер версии конфигурации (раздел «О программе») с целевым релизом.

Контрольные точки

Как проверить результат

Лог-файл обновления
Норма

Нет строк со словами «Ошибка», «Операция не выполнена»

Тревожный признак

Есть сообщения об ошибках обновления или реструктуризации

Версия конфигурации в базе
Норма

Совпадает с целевым релизом

Тревожный признак

Осталась прежняя версия — обновление не применилось

Вход пользователя и основные операции
Норма

База открывается, документы проводятся, отчёты формируются

Тревожный признак

Ошибки при открытии, неработающие формы или отчёты

Отложенные обработчики обновления
Норма

Все обработчики завершены

Тревожный признак

Обработчики зависли или завершились с ошибкой

Типичные ошибки
01
Запуск обновления без завершения сеансов — реструктуризация не стартует или завершается ошибкой монопольного доступа
02
Обновление базы через несколько релизов одним файлом .cfu, не предназначенным для пропуска версий, — обновление отклоняется или применяется некорректно
03
Отсутствие резервной копии хотя бы одной базы из списка — при сбое данные этой базы восстановить неоткуда
04
Включение в пакетный скрипт баз с доработками — типовое обновление затирает прикладные изменения
05
Пропуск анализа логов — ошибка в одной базе остаётся незамеченной до обращения пользователей

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

FAQ: частые вопросы о пакетном обновлении баз 1С

Можно ли обновлять файловые и серверные базы одним скриптом?

Да, bat-скрипт может содержать команды и с параметром /F для файловых баз, и с параметром /S для серверных. Учитывайте только разные требования: для серверных баз нужны права на кластер и отключение регламентных заданий, а для файловых — сетевой доступ к каталогу и отсутствие открытых сеансов.

Что делать, если база пропустила несколько релизов?

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

Нужно ли обновлять платформу перед обновлением конфигурации?

Только если новый релиз конфигурации явно требует более свежую версию платформы — это указано в сопроводительной документации к обновлению. Если требований нет, конфигурацию можно обновлять на текущей платформе.

Можно ли запустить пакетное обновление по расписанию ночью?

Да, это стандартная практика. Скрипт добавляется в планировщик заданий Windows. Обязательно предусмотрите автоматическое завершение сеансов перед запуском (для серверных баз — через консоль кластера или RAS) и уведомление пользователей о времени недоступности баз.

Как обновлять базы, если конфигурации доработаны?

Полностью автоматически — никак. Доработанные базы исключаются из пакетного сценария и обновляются вручную через «Сравнение и объединение конфигураций» с ручным контролем изменённых объектов. Автоматизировать можно только подготовительные этапы: бэкап и завершение сеансов.

Сколько времени занимает пакетное обновление?

Зависит от объёма баз, количества изменённых объектов и скорости дисковой подсистемы. Основное время уходит на реструктуризацию: небольшая файловая база обновляется за минуты, большая серверная — за десятки минут и дольше. Точную оценку даёт пробное обновление копии самой большой базы.

Итог

Что важно запомнить

Одновременное обновление нескольких баз 1С строится на пакетном режиме конфигуратора с параметрами /UpdateCfg и /UpdateDBCfg либо на специализированных утилитах. Обязательный минимум безопасности: резервные копии всех баз, единая версия платформы, монопольный доступ, проверка логов и версий после завершения. Доработанные конфигурации из пакетного сценария исключаются и обновляются вручную.