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

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

Как обновить 1С на SQL Server: подробное руководство

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

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

Под «обновлением 1С SQL» обычно понимают три разные задачи: обновление конфигурации (например, «1С:Бухгалтерии» до нового релиза), обновление платформы 1С:Предприятие и обновление самого SQL Server. В этой статье разобраны все три сценария с акцентом на самый частый — обновление конфигурации в клиент-серверной базе.

Что именно нужно обновить: конфигурация, платформа или SQL Server

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

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

Три типа обновления

Конфигурация

Самый частый сценарий. Выполняется в конфигураторе, требует монопольного доступа и бэкапа. Риски — ошибки реструктуризации данных.

Платформа 1С

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

SQL Server

Редкая инфраструктурная задача. Выполняется средствами установщика SQL Server, требует остановки баз и полного бэкапа.

Подготовка: бэкап, права и условия безопасного обновления

Главное правило обновления клиент-серверной базы — резервная копия создаётся средствами SQL Server, а не выгрузкой в dt. Выгрузка в dt на больших базах занимает часы и может завершиться ошибкой, тогда как полный бэкап через SQL Server Management Studio (SSMS) делается быстро и восстанавливается надёжно. Откройте SSMS, найдите нужную базу, щёлкните правой кнопкой — «Задачи» — «Создать резервную копию», тип «Полная», и укажите путь к файлу на диске с достаточным свободным местом.

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

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

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

Как обновить конфигурацию 1С на SQL-базе

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

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

Порядок обновления конфигурации
  1. 1
    Создайте полный бэкап базы средствами SQL Server и проверьте файл
  2. 2
    Заблокируйте сеансы пользователей и завершите активные соединения через консоль кластера
  3. 3
    Откройте конфигуратор и выполните «Поддержка» — «Обновить конфигурацию», указав файл нового релиза
  4. 4
    Подтвердите обновление конфигурации базы данных (F7) и дождитесь окончания реструктуризации
  5. 5
    Запустите базу в режиме предприятия, выполните обработчики обновления данных
  6. 6
    Проверьте ключевые отчёты и документы, затем снимите блокировку сеансов

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

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

Обновление платформы 1С на сервере и клиентах

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

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

Обновление самого SQL Server

Обновление СУБД выполняют в двух случаях: установка накопительных пакетов (Cumulative Update) в рамках текущей версии и переход на новую версию SQL Server. Накопительные обновления ставятся штатным установщиком, требуют перезапуска службы SQL Server и обычно занимают меньше часа, но перед ними всё равно делается полный бэкап всех баз.

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

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

Проверка результата и откат при проблемах

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

Если обновление прошло с ошибками или обнаружились критические проблемы, откат выполняется восстановлением базы из бэкапа SQL Server: в SSMS — «Задачи» — «Восстановить» — «База данных». Учтите, что данные, введённые после обновления, при откате будут потеряны, поэтому решение об откате принимают быстро.

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

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

Версия конфигурации в «О программе»
Норма

Соответствует установленному релизу

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

Старая версия — обновление конфигурации БД не завершено

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

Все выполнены, статус «завершено»

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

Есть зависшие или завершённые с ошибкой обработчики

Контрольные итоги по учёту
Норма

Сальдо и обороты совпадают с данными до обновления

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

Расхождения — нужен анализ и возможный откат

Сеансы пользователей
Норма

Пользователи подключаются без ошибок версий

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

Ошибки несовместимости платформы на клиентах

Типичные ошибки при обновлении 1С на SQL

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

Типичные ошибки
01
Обновление без бэкапа SQL Server — при сбое реструктуризации базу не восстановить
02
Прерывание реструктуризации — приводит к повреждению таблиц и необходимости восстановления из копии
03
Обновление конфигурации раньше платформы — новый релиз не запускается на старой платформе
04
Пропуск обработчиков обновления данных — пользователи начинают работать с непреобразованными данными
05
Игнорирование блокировки сеансов — фоновые задания во время обновления вызывают конфликты блокировок
06
Обновление через несколько релизов за раз без промежуточных — повышает риск ошибок и время реструктуризации

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

Итог

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

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

Частые вопросы об обновлении 1С на SQL Server

Можно ли обновлять 1С на SQL без монопольного режима?

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

Достаточно ли выгрузки в dt вместо бэкапа SQL Server?

Для небольших баз dt-выгрузка допустима, но для клиент-серверных баз надёжнее полный бэкап средствами SQL Server: он создаётся быстрее, восстанавливается предсказуемо и не зависит от целостности механизма выгрузки 1С. Идеальный вариант — иметь оба вида копий.

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

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

Что делать, если реструктуризация зависла?

Сначала проверьте в SSMS через Activity Monitor, есть ли реальная активность: длительные операции с большими таблицами могут выглядеть как зависание. Если активности нет продолжительное время и есть блокировки, завершите процесс и восстановите базу из бэкапа, затем повторите обновление, устранив причину (обычно нехватка места или активные соединения).

Нужно ли обновлять SQL Server при обновлении 1С?

Нет, это независимые задачи. SQL Server обновляют только если текущая версия перестала поддерживаться или новая платформа 1С требует более свежую СУБД. В остальных случаях достаточно регулярной установки накопительных обновлений безопасности.

Можно ли пропустить несколько релизов конфигурации?

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