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

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

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

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

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

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

Перед началом убедитесь, что у вас есть: права администратора кластера серверов 1С, доступ к консоли кластера, учётная запись с полными правами в самой базе, доступ к серверу СУБД для создания резервной копии и актуальный дистрибутив обновления (файл .cfu или полный .cf). Также проверьте, что версия платформы 1С соответствует минимальным требованиям нового релиза конфигурации — это указано в файле поставки или в описании релиза на портале 1С.

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

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

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

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

База открыта у пользователейМонопольный режим недоступен

Активные сеансы в консоли кластера: Администрирование — Сеансы

Версия конфигурации сильно устарелаПрямой переход может быть невозможен

Список допустимых версий перехода в файле поставки обновления

Старая платформа 1СНовый релиз может не запуститься

Требуемая версия платформы в описании релиза

Нет свежего бэкапа СУБДОткат невозможен

Дата последней резервной копии в плане обслуживания SQL-сервера

Резервное копирование серверной базы

Для серверной базы правильный способ резервного копирования — средствами СУБД, а не выгрузка в .dt из конфигуратора. Выгрузка .dt для больших баз занимает часы, не гарантирует целостность при параллельной работе и восстанавливается долго. Бэкап средствами MS SQL или PostgreSQL создаётся за минуты и восстанавливается быстро и надёжно.

Для MS SQL выполните полное резервное копирование через SQL Server Management Studio: правый клик по базе — «Задачи — Создать резервную копию», тип — «Полная». Для PostgreSQL используйте pg_dump или pg_basebackup. Сохраните копию на отдельный диск или сетевое хранилище, а не на тот же том, где лежат файлы базы.

sql
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_before_update.bak' WITH FORMAT, COMPRESSION;

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

Завершение сеансов и блокировка базы

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

Чтобы пользователи не заходили в базу во время обновления, установите блокировку сеансов. В консоли кластера: свойства информационной базы — «Блокировка сеансов» — установите дату начала, сообщение для пользователей и код разрешения доступа. Код разрешения позволит вам самому войти в базу, несмотря на блокировку: при запуске укажите параметр /UC<код>.

Альтернатива для типовых конфигураций — обработка «Блокировка работы пользователей» (входит в Библиотеку стандартных подсистем) прямо в режиме Предприятие. Она мягко завершает сеансы с предупреждением и устанавливает блокировку. Это удобнее, чем ручное удаление сеансов, но всё равно проверьте консоль кластера после её применения.

Установка шаблона и обновление конфигурации

Запустите установщик обновления (setup.exe из дистрибутива релиза) на компьютере, с которого будете работать в конфигураторе. Шаблон установится в каталог шаблонов (по умолчанию в профиле пользователя, папка tmplts). Если обновление ставится на сервере терминалов, убедитесь, что шаблон доступен той учётной записи, под которой запускается конфигуратор.

Откройте конфигуратор, авторизуйтесь в базе. Перейдите в меню «Конфигурация — Поддержка — Обновить конфигурацию». Выберите «Поиск доступных обновлений» с указанием каталога шаблонов или «Выбор файла обновления», если у вас готовый .cfu. Платформа покажет, какие релизы будут установлены последовательно — согласитесь и дождитесь завершения сравнения и объединения.

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

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

Обновление конфигурации базы данных и запуск обработчиков

После обновления конфигурации (это ещё не база данных!) нажмите F7 или выберите «Конфигурация — Обновить конфигурацию базы данных». Платформа покажет список изменений структуры: новые таблицы, реквизиты, индексы. Примите изменения. На больших базах реструктуризация может занять от нескольких минут до часов — не прерывайте процесс, это опасно для целостности данных.

Затем запустите базу в режиме Предприятие под пользователем с полными правами. Типовые конфигурации автоматически выполнят обработчики обновления: перенос данных в новые структуры, заполнение новых реквизитов, обновление поставляемых данных. Прогресс виден в разделе «Администрирование — Обслуживание — Результаты обновления». Пока обработчики не завершены, пользователей пускать нельзя — часть данных будет в промежуточном состоянии.

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

Проверка результата и снятие блокировки

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

Особое внимание уделите регламентным операциям, привязанным к версии: расчёту зарплаты, закрытию месяца, формированию отчётности. Если обновление затрагивало законодательные изменения (формы отчётности, ставки, классификаторы), убедитесь, что новые данные загружены корректно.

Только после проверки снимите блокировку сеансов в консоли кластера и сообщите пользователям о возможности работы. Резервную копию, сделанную перед обновлением, сохраняйте минимум несколько дней — часть проблем обнаруживается не сразу, а при первом закрытии периода или формировании отчётности.

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

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

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

Соответствует установленному релизу в сведениях о программе

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

Версия не изменилась — обновление не применено

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

Все выполнены, ошибок нет в разделе «Результаты обновления»

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

Есть задания со статусом «Ошибка» или зависшие отложенные обработчики

Открытие документов и отчётов
Норма

Документы открываются, отчёты формируются без ошибок

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

Ошибки формата, незаполненные поля, падение при открытии

Обмены и интеграции
Норма

Обмены выполняются по расписанию без ошибок

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

Ошибки сериализации, не выгружаются объекты

Типичные ошибки и особые сценарии

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

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

Если база работает в кластере с несколькими рабочими серверами, никаких специальных действий не требуется: конфигурация базы данных хранится в СУБД, и обновление выполняется один раз независимо от числа серверов. А вот платформу нужно обновить на всех серверах кластера и терминальных машинах.

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

Частые вопросы

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

Технически можно, но это плохая практика для серверного режима: выгрузка и загрузка большой базы занимает часы, требует огромного дискового пространства и не даёт никаких преимуществ. Обновление выполняется прямо на серверной базе через конфигуратор, а .dt используется только как дополнительная страховка для небольших баз.

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

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

Обязательно ли обновлять платформу вместе с конфигурацией?

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

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

Обновление выполняет разработчик, знакомый с доработками: на этапе сравнения-объединения нужно вручную принимать решения по каждому изменённому объекту. Рекомендуется сначала выполнить обновление на копии базы, проверить работоспособность доработок и только потом повторить на рабочей базе по готовому сценарию.

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

Зависит от размера базы и объёма изменений релиза. Для базы в десятки гигабайт типовое обновление укладывается в 1–3 часа вместе с бэкапом и обработчиками. Крупные релизы с массовым переносом данных на больших базах могут занять всю ночь — планируйте окно с запасом.

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

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

Итог

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

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