Администрирование · 11 мин
Как обновить 1С на SQL Server: подробное руководство
Как обновить 1С в клиент-серверном варианте на MS SQL: подготовка, бэкап, порядок обновления конфигурации и платформы, проверка результата и типичные ошибки.
Обновление 1С, развёрнутой в клиент-серверном режиме на SQL Server, отличается от обновления файловой базы: добавляются вопросы резервного копирования на стороне СУБД, прав доступа к серверу, монопольного режима и обновления самой платформы на сервере 1С. Ошибка на любом из этих этапов может привести к простою учётной системы или повреждению данных, поэтому действовать нужно по чёткому плану.
Под «обновлением 1С SQL» обычно понимают три разные задачи: обновление конфигурации (например, «1С:Бухгалтерии» до нового релиза), обновление платформы 1С:Предприятие и обновление самого SQL Server. В этой статье разобраны все три сценария с акцентом на самый частый — обновление конфигурации в клиент-серверной базе.
Что именно нужно обновить: конфигурация, платформа или SQL Server
Перед началом работ важно определить, какой именно компонент требует обновления, потому что порядок действий и риски в каждом случае разные. Чаще всего речь идёт об обновлении конфигурации — новые релизы выходят регулярно и содержат изменения законодательства, формы отчётности и исправления ошибок.
Обновление платформы требуется реже: обычно когда новый релиз конфигурации перестаёт поддерживать старую версию платформы и при запуске появляется сообщение о несовместимости. Обновление самого SQL Server — отдельная инфраструктурная задача, которую выполняют при смене версии СУБД или установке накопительных пакетов обновлений.
Три типа обновления
Самый частый сценарий. Выполняется в конфигураторе, требует монопольного доступа и бэкапа. Риски — ошибки реструктуризации данных.
Устанавливается на сервер 1С и все клиентские компьютеры. Требуется, когда новый релиз конфигурации не работает на старой платформе.
Редкая инфраструктурная задача. Выполняется средствами установщика SQL Server, требует остановки баз и полного бэкапа.
Подготовка: бэкап, права и условия безопасного обновления
Главное правило обновления клиент-серверной базы — резервная копия создаётся средствами SQL Server, а не выгрузкой в dt. Выгрузка в dt на больших базах занимает часы и может завершиться ошибкой, тогда как полный бэкап через SQL Server Management Studio (SSMS) делается быстро и восстанавливается надёжно. Откройте SSMS, найдите нужную базу, щёлкните правой кнопкой — «Задачи» — «Создать резервную копию», тип «Полная», и укажите путь к файлу на диске с достаточным свободным местом.
Проверьте, что у вас есть: административный доступ к серверу 1С и к SQL Server, дистрибутив нового релиза конфигурации (или доступ к порталу 1С для его скачивания), а также актуальный регистрационный номер и коды, если обновление выполняется через поддержку. Убедитесь, что на диске сервера достаточно места — в процессе реструктуризации размер базы может временно заметно вырасти.
Согласуйте окно обновления с пользователями. На время обновления база переводится в монопольный режим: все сеансы завершаются, регламентные задания блокируются. На больших базах реструктуризация может занять от десятков минут до нескольких часов, поэтому обновление планируют на вечер или выходные.
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_before_update.bak' WITH FORMAT, COMPRESSION;Как обновить конфигурацию 1С на SQL-базе
Запустите конфигуратор под пользователем с полными правами. Первым шагом завершите все сеансы: это можно сделать через консоль кластера серверов 1С (в свойствах информационной базы установите блокировку сеансов) или через «Администрирование» — «Поддержка и обслуживание» в режиме предприятия. Убедитесь, что фоновые задания остановлены.
Дальнейший порядок зависит от того, стоит ли конфигурация на полной поддержке. Если да — используйте «Конфигурация» — «Поддержка» — «Обновить конфигурацию» и выберите файл нового релиза (1cv8.cfu) из дистрибутива. Если конфигурация доработана и снята с поддержки частично, потребуется трёхстороннее сравнение и объединение с ручным разрешением конфликтов — это работа для специалиста, знающего прикладную логику доработок.
- 1Создайте полный бэкап базы средствами SQL Server и проверьте файл
- 2Заблокируйте сеансы пользователей и завершите активные соединения через консоль кластера
- 3Откройте конфигуратор и выполните «Поддержка» — «Обновить конфигурацию», указав файл нового релиза
- 4Подтвердите обновление конфигурации базы данных (F7) и дождитесь окончания реструктуризации
- 5Запустите базу в режиме предприятия, выполните обработчики обновления данных
- 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
Большинство проблем связано не с самим обновлением, а с нарушением подготовки: отсутствием проверенного бэкапа, незавершёнными сеансами и нехваткой места на диске. Отдельная группа ошибок — попытка обновить сильно доработанную конфигурацию «в автомате», без анализа конфликтов объединения.
Если конфигурация сильно доработана, база имеет большой объём или обновление затрагивает несколько релизов сразу, безопаснее сначала выполнить пробное обновление на копии базы, восстановленной на тестовом сервере. Это позволит оценить длительность реструктуризации и выявить конфликты без риска для рабочей системы.
Что важно запомнить
Обновляйте 1С на SQL Server только после полного бэкапа средствами СУБД, в монопольном режиме, сначала платформу (если требуется), затем конфигурацию. Не прерывайте реструктуризацию, дождитесь выполнения обработчиков обновления и проверьте контрольные итоги, прежде чем пускать пользователей. План отката — восстановление базы из резервной копии.
Частые вопросы об обновлении 1С на SQL Server
Можно ли обновлять 1С на SQL без монопольного режима?
Нет. Обновление конфигурации базы данных требует монопольного доступа: при активных сеансах конфигуратор откажется выполнять реструктуризацию. Сеансы завершают через консоль кластера или блокировку подключений в настройках информационной базы.
Достаточно ли выгрузки в dt вместо бэкапа SQL Server?
Для небольших баз dt-выгрузка допустима, но для клиент-серверных баз надёжнее полный бэкап средствами SQL Server: он создаётся быстрее, восстанавливается предсказуемо и не зависит от целостности механизма выгрузки 1С. Идеальный вариант — иметь оба вида копий.
Сколько времени занимает обновление?
Загрузка обновления конфигурации обычно занимает минуты, а реструктуризация и обработчики обновления данных зависят от объёма базы: на небольших базах это десятки минут, на больших — несколько часов. Точное время заранее узнать нельзя, поэтому окно обновления планируют с запасом.
Что делать, если реструктуризация зависла?
Сначала проверьте в SSMS через Activity Monitor, есть ли реальная активность: длительные операции с большими таблицами могут выглядеть как зависание. Если активности нет продолжительное время и есть блокировки, завершите процесс и восстановите базу из бэкапа, затем повторите обновление, устранив причину (обычно нехватка места или активные соединения).
Нужно ли обновлять SQL Server при обновлении 1С?
Нет, это независимые задачи. SQL Server обновляют только если текущая версия перестала поддерживаться или новая платформа 1С требует более свежую СУБД. В остальных случаях достаточно регулярной установки накопительных обновлений безопасности.
Можно ли пропустить несколько релизов конфигурации?
Многие типовые конфигурации поддерживают обновление через несколько релизов, но не все — список поддерживаемых версий указан в файле поставки. Если ваш релиз слишком старый, обновление выполняют последовательно через промежуточные версии, иначе мастер откажется продолжать.