Администрирование · 11 мин
Как обновить 1С на сервере SQL
Пошаговое обновление 1С в клиент-серверном режиме на MS SQL: подготовка, резервная копия, обновление конфигурации, реструктуризация и проверка результата.
Обновление 1С в клиент-серверном режиме на MS SQL отличается от файлового варианта тем, что база данных физически находится на SQL-сервере, а изменения структуры применяются через реструктуризацию таблиц. Ошибка на этом этапе может привести к повреждению рабочей базы, поэтому процесс требует подготовки: резервного копирования, контроля места на дисках и проверки совместимости версий.
Общая логика обновления одинакова для большинства конфигураций: сначала обновляется платформа 1С на сервере и клиентах, затем через конфигуратор применяется обновление конфигурации, после чего выполняется реструктуризация базы данных и принимаются изменения на уровне СУБД. На больших базах реструктуризация может занимать часы, и это нужно учитывать при планировании окна обслуживания.
Подготовка: что проверить до начала обновления
Первый шаг — убедиться, что новая версия конфигурации совместима с текущей версией платформы. В описании релиза поставщик указывает минимально требуемую версию платформы 1С:Предприятие. Если установленная платформа старше, её обновляют в первую очередь: на сервере 1С, на SQL-сервере (если требуется) и на всех клиентских машинах. Несовпадение версий платформы на сервере и клиентах приведёт к невозможности подключения.
Далее проверьте свободное место на дисках SQL-сервера. При реструктуризации 1С создаёт новые таблицы и копирует в них данные, поэтому временно может потребоваться объём, сопоставимый с размером всей базы. Файл журнала транзакций (LDF) при массовых операциях тоже растёт быстро — под него нужен запас места. Практическое правило: свободного места должно быть не меньше размера базы данных.
Уточните порядок обновления: многие конфигурации нельзя обновить сразу на последний релиз, требуется последовательная установка промежуточных версий. Эта информация есть в файле поставки обновления (обычно 1cv8upd.htm). Пропуск обязательных промежуточных релизов — частая причина ошибок при обновлении.
Сверить с требованиями в описании обновления
Проверить свободное место на томах с MDF и LDF
Открыть 1cv8upd.htm из комплекта поставки
Завершить сеансы через консоль кластера
Резервное копирование базы средствами SQL Server
Для клиент-серверного варианта корректный способ резервного копирования — полная копия базы данных средствами MS SQL Server, а не выгрузка в DT и не копирование файлов при работающей службе. Выгрузка в DT на больших базах занимает много времени и не фиксирует всё, что хранится на уровне СУБД, а копирование файлов MDF/LDF без остановки службы даёт неконсистентную копию.
Полную копию делают через SQL Server Management Studio: правый клик по базе — «Задачи» — «Создать резервную копию», тип копии «Полная». Альтернатива — T-SQL-команда:
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backup\MyBase1C_before_update.bak' WITH COMPRESSION, CHECKSUM;После создания копии убедитесь, что она восстанавливается. Минимальная проверка — команда RESTORE VERIFYONLY, надёжная практика — тестовое восстановление в отдельную базу на том же или другом сервере. Резервная копия, которая не проверена на восстановление, не считается страховкой.
Обновление платформы 1С на сервере и клиентах
Если новый релиз конфигурации требует более свежую платформу, её устанавливают до обновления конфигурации. На сервере 1С установка выполняется под учётной записью с правами администратора: запускается дистрибутив, выбираются компоненты «Сервер 1С:Предприятия». После установки новой версии службу агента сервера обычно перезапускают, а в консоли кластера проверяют, что рабочие процессы поднялись на новой версии.
Важный момент — разрядность. Если сервер 1С 64-разрядный, ставится 64-разрядный дистрибутив; смешение разрядностей версий на одном сервере допустимо, но требует внимательности при регистрации служб. После обновления сервера обновите тонкие клиенты на рабочих местах пользователей, иначе при подключении они получат ошибку несовпадения версий.
Проверка результата: подключитесь к базе тонким клиентом с новой платформы до начала обновления конфигурации. Если база открывается и работает штатно, платформа обновлена корректно, и можно переходить к конфигурации.
Обновление конфигурации через конфигуратор
Обновление конфигурации выполняется с монопольным доступом к базе: все пользователи и фоновые задания должны быть завершены. Сеансы завершают через консоль кластера серверов 1С (список сеансов информационной базы, принудительное удаление) или через параметр блокировки сеансов. Также отключите регламентные задания на время обновления — запущенное фоновое задание может помешать монопольному режиму.
Порядок действий в конфигураторе: меню «Конфигурация» — «Поддержка» — «Обновить конфигурацию», выбор файла обновления из комплекта поставки (или поиск обновлений). После сравнения и объединения конфигураций конфигуратор предложит обновить конфигурацию базы данных — на этом шаге и запускается реструктуризация.
- 1Завершите все сеансы и отключите регламентные задания через консоль кластера
- 2Откройте конфигуратор под учётной записью с полными правами
- 3Выполните «Конфигурация — Поддержка — Обновить конфигурацию» и укажите файл поставки
- 4Проверьте окно сравнения-объединения: не должно быть неожиданных изменений в типовых объектах
- 5Согласитесь на обновление конфигурации базы данных и дождитесь окончания реструктуризации
- 6Запустите базу в режиме предприятия под администратором для выполнения отложенных обработчиков обновления
Реструктуризация: что происходит с базой на SQL
При обновлении конфигурации базы данных 1С перестраивает таблицы на SQL-сервере: создаёт новые таблицы с изменённой структурой, копирует в них данные, удаляет старые. На базе в десятки гигабайт этот процесс может идти несколько часов, и в течение всего времени база недоступна пользователям. Планируйте обновление на нерабочее время — ночь или выходные.
Во время реструктуризации не должно быть перезагрузок SQL-сервера, обрывов сети между сервером 1С и СУБД и нехватки места под журнал транзакций. Прерывание реструктуризации может оставить базу в несогласованном состоянии, когда потребуется восстановление из резервной копии. Именно поэтому копия делается до, а не после обновления.
Отложенные обработчики и проверка результата
После реструктуризации типовые конфигурации выполняют обработчики обновления данных: перенос значений в новые реквизиты, заполнение служебных регистров, пересчёт итогов. Часть обработчиков откладывается и выполняется в фоновом режиме уже после запуска пользователей. До завершения отложенных обработчиков часть функций может быть недоступна — это нормальное поведение, о нём стоит предупредить пользователей.
Проверка результата включает несколько контрольных точек: база открывается в режиме предприятия, версия конфигурации в разделе «О программе» соответствует новой, отложенные обработчики завершились без ошибок (статус виден в разделе «Результаты обновления программы»), ключевые отчёты и проведение документов работают. Полезно открыть несколько типовых документов и журналов, сформировать оборотно-сальдовую ведомость или аналогичный основной отчёт.
Как проверить результат обновления
Соответствует установленному релизу
Старая версия или сообщение о незавершённом обновлении
Все завершены успешно
Есть обработчики с ошибками или зависшие
Размер LDF под контролем после операций
Журнал заполнил диск, база перешла в состояние ошибки
Документы проводятся, отчёты формируются
Ошибки метаданных, отсутствующие реквизиты
Типичные ошибки и что делать, если обновление не удалось
Чаще всего обновление на SQL срывается по трём причинам: нехватка места под журнал транзакций, активные сеансы, мешающие монопольному доступу, и попытка установить релиз через несколько пропущенных версий. Реже встречаются проблемы с правами учётной записи, под которой сервер 1С обращается к СУБД, и с повреждёнными индексами базы.
Если реструктуризация прервалась с ошибкой, не пытайтесь повторно запускать обновление «вслепую». Посмотрите текст ошибки в технологическом журнале и в журнале ошибок SQL Server. Если база осталась в несогласованном состоянии, надёжный путь — восстановить резервную копию в отдельную базу, разобраться с причиной сбоя и повторить процедуру. Восстановление поверх рабочей базы выполняют только когда точно понятно, что текущее состояние не содержит новых данных.
Что важно запомнить
Безопасное обновление 1С на SQL строится на трёх опорах: проверенная резервная копия средствами SQL Server, монопольный доступ при обновлении конфигурации и достаточный запас места на дисках СУБД. После обновления дождитесь завершения отложенных обработчиков и проверьте работу ключевых функций до открытия доступа пользователям.
Частые вопросы
Можно ли обновлять 1С на SQL без остановки работы пользователей?
Полноценное обновление с изменением структуры данных — нет: реструктуризация требует монопольного доступа. Динамическое обновление возможно только для мелких исправлений, не меняющих метаданные, и даже тогда пользователям потребуется перезапустить сеансы.
Достаточно ли выгрузки базы в файл DT вместо копии SQL?
Для клиент-серверного режима полная копия средствами SQL Server надёжнее: она создаётся быстрее на больших базах и гарантированно фиксирует всё содержимое. DT-выгрузка подходит как дополнительная страховка или способ переноса между СУБД, но как единственная копия на больших базах неудобна из-за длительности создания и восстановления.
Сколько времени занимает реструктуризация?
Зависит от размера базы, объёма изменений и производительности дисковой подсистемы SQL-сервера. На небольших базах — минуты, на базах в десятки гигабайт с массовыми изменениями таблиц — несколько часов. Точное время заранее предсказать сложно, поэтому обновление планируют на нерабочий период с запасом.
Что делать, если после обновления отложенные обработчики завершились с ошибками?
Откройте раздел «Результаты обновления программы» и посмотрите текст ошибки конкретного обработчика. Часто помогает повторный запуск обработчика после устранения причины (например, снятия блокировки объекта). Если ошибка связана с данными, её анализируют по журналу регистрации, при необходимости привлекая специалиста по конфигурации.
Нужно ли обновлять платформу на SQL-сервере, если там нет 1С?
Если на SQL-сервере установлены только компоненты СУБД, платформу 1С там обновлять не нужно — достаточно обновить сервер 1С и клиентские места. Исключение — случаи, когда на той же машине развёрнут и сервер 1С, и SQL Server: тогда обновляется серверная часть платформы.
Как откатить обновление, если новая версия работает некорректно?
Штатного механизма отката конфигурации нет. Восстановление выполняется из резервной копии SQL: база возвращается в состояние на момент обновления, все данные, введённые после него, будут потеряны. Поэтому решение об откате принимают быстро, а пользователей предупреждают о возможной потере данных за период после обновления.