Администрирование · 9 мин
Как обновить 1С на SQL Server
Пошаговая инструкция по обновлению конфигурации 1С в клиент-серверном режиме на SQL Server: подготовка, бэкап, обновление через конфигуратор и проверка результата.
Обновление 1С в клиент-серверном варианте работы отличается от обновления файловой базы: добавляется слой SQL Server, влияющий на доступность базы, блокировки и время выполнения реструктуризации. При этом сама логика обновления конфигурации остаётся той же — через конфигуратор, но порядок действий и меры предосторожности меняются.
Главные риски при обновлении на SQL Server — отсутствие актуальной резервной копии на уровне СУБД, обрыв соединения во время реструктуризации и нехватка места в журнале транзакций. Все три проблемы устраняются подготовкой, которая занимает больше времени, чем само обновление.
Ниже описан рабочий порядок действий: от проверки версий и создания бэкапа до обновления конфигурации базы данных и контроля результата. Инструкция подходит для типовых конфигураций (Бухгалтерия, ERP, УТ, ЗУП) в режиме совместимости с платформой 8.3.
Проверка совместимости версий перед обновлением
Перед началом убедитесь, что версия платформы 1С поддерживает целевой релиз конфигурации. Требуемая версия платформы указана в описании релиза на портале 1С и в файле поставки. Если платформа устарела, сначала обновите её на сервере 1С и на всех клиентских машинах.
Проверьте релиз текущей конфигурации: обновления часто рассчитаны на конкретные исходные версии. Если база отстаёт на несколько релизов, применяйте промежуточные обновления последовательно или используйте объединённый файл поставки (.cf), если вендор его предоставляет.
Также убедитесь, что версия SQL Server входит в список поддерживаемых платформой. Слишком старые выпуски SQL Server могут не работать с новыми версиями платформы 1С — это проверяется в системных требованиях на сайте 1С.
- Текущий релиз конфигурации смотрите в «О программе» или в конфигураторе.
- Требуемую версию платформы — в описании релиза обновления.
- Версию SQL Server — запросом
SELECT @@VERSIONили в свойствах сервера.
Резервное копирование: правильный способ на SQL Server
Выгрузка базы в файл .dt через конфигуратор — не лучший способ бэкапа клиент-серверной базы. На больших базах выгрузка занимает часы и может завершаться ошибками. Основной метод — полный бэкап средствами SQL Server через SQL Server Management Studio (SSMS).
Откройте SSMS, найдите базу, щёлкните правой кнопкой: Tasks → Back Up. Тип — Full, назначение — файл на диске с достаточным свободным местом. Для надёжности после завершения проверьте целостность копии командой RESTORE VERIFYONLY.
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_full.bak' WITH COMPRESSION, CHECKSUM;
RESTORE VERIFYONLY FROM DISK = N'D:\Backups\MyBase1C_full.bak';Дополнительно можно сделать выгрузку .dt для маленькой базы как второй уровень защиты, но не вместо бэкапа SQL. Помните: .dt не содержит некоторые данные, хранящиеся вне информационной базы (например, настройки, сохранённые на уровне СУБД вне схемы 1С).
Подготовка базы: пользователи, блокировки и регламентные задания
Обновление конфигурации базы данных требует монопольного доступа. Попросите пользователей выйти, а затем принудительно завершите оставшиеся сеансы через консоль администрирования сервера 1С (кластер → сеансы → удалить) или через «Администрирование → Поддержка и обслуживание → Блокировка работы пользователей» в типовых конфигурациях.
Установите блокировку начала сеансов, чтобы пользователи не зашли в базу во время обновления. Отключите регламентные и фоновые задания: они могут держать соединения и мешать монопольному режиму. В консоли кластера это делается в свойствах информационной базы — параметр «Блокировка регламентных заданий».
Проверьте свободное место на дисках SQL Server. Реструктуризация больших таблиц создаёт их копии, а журнал транзакций может вырасти в разы. Ориентир — свободное место не меньше размера самой базы. Если модель восстановления базы — Full, журнал будет расти особенно быстро; на время обновления допустимо временно переключить её на Simple (после обновления вернуть обратно и сделать полный бэкап).
- 1Сделайте полный бэкап средствами SQL Server и проверьте его
- 2Уведомите пользователей и завершите активные сеансы
- 3Включите блокировку начала сеансов и отключите регламентные задания
- 4Проверьте свободное место на дисках данных и журнала
- 5При необходимости переключите модель восстановления на Simple
Обновление конфигурации через конфигуратор
Запустите конфигуратор под учётной записью с полными правами. Откройте «Конфигурация → Поддержка → Обновить конфигурацию». Для типовых конфигураций выберите поиск обновлений в каталоге шаблонов или укажите файл обновления (.cfu) вручную.
После анализа конфигуратор покажет список изменённых объектов. Для типовой конфигурации без доработок достаточно нажать «Выполнить». Если конфигурация доработана, внимательно разберите конфликты: правило «Загружаемая конфигурация — приоритет» может затереть ваши изменения, их придётся переносить вручную после обновления.
После загрузки конфигурации нажмите F7 («Обновить конфигурацию базы данных»). Именно на этом этапе запускается реструктуризация таблиц на SQL Server. На больших базах процесс может занять от десятков минут до нескольких часов — прерывать его нельзя.
Обновление через пакетный режим
Для автоматизации и удалённого обновления используйте запуск конфигуратора с параметрами командной строки: /UpdateCfg и /UpdateDBCfg. Это удобно для ночных окон обслуживания и сценариев с несколькими базами. Лог выполнения пишется в файл, заданный параметром /Out.
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /S"server\MyBase1C" /N"Администратор" /P"пароль" /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg /Out"D:\Logs\update.log" /DisableStartupDialogsОбновление не типовой конфигурации
Если конфигурация изменена, обновление требует сравнения и объединения. В диалоге обновления конфигуратор покажет объекты, изменённые у вас и у поставщика. Для каждого конфликта выберите режим: взять новую версию поставщика, оставить свою или объединить вручную.
Практическое правило: типовые объекты, которые вы не трогали, обновляйте приоритетом поставщика; доработанные — разбирайте вручную. После объединения обязательно проверьте работу доработанных механизмов: обновление платформы и конфигурации может изменить поведение типовых процедур, на которые опирались ваши доработки.
Проверка результата и возврат в работу
После завершения обновления конфигурации БД запустите базу в режиме предприятия. Многие типовые конфигурации при первом запуске выполняют отложенные обработчики обновления данных — это нормально, но на больших базах они могут работать долго. Дождитесь их завершения: статус виден в «Поддержка и обслуживание → Результаты обновления».
Проверьте версию конфигурации в «О программе», выполните контрольные операции: проведите тестовый документ, сформируйте ключевой отчёт, убедитесь, что работают доработанные механизмы. Затем снимите блокировку сеансов, включите регламентные задания и верните модель восстановления базы, если меняли её.
После успешной проверки сделайте новый полный бэкап базы — он станет точкой отката уже на новом релизе. Старый бэкап (до обновления) храните отдельно, пока не убедитесь в стабильной работе.
Как проверить результат
Соответствует целевому релизу
Осталась прежней — обновление БД не выполнено
Все выполнены без ошибок
Есть ошибки — разбирать журнал регистрации
Работают как до обновления
Ошибки проведения, пустые отчёты
Функционируют штатно
Ошибки вызова, потерянные изменения
Часто задаваемые вопросы
Можно ли обновить 1С на SQL Server без остановки работы пользователей?
Нет. Обновление конфигурации базы данных требует монопольного доступа, поэтому все сеансы должны быть завершены. Загрузку конфигурации можно выполнить заранее, но финальный этап (F7) возможен только при пустой базе.
Что делать, если обновление зависло на реструктуризации?
Сначала проверьте активность на SQL Server через Activity Monitor или запрос к sys.dm_exec_requests: если идёт ввод-вывод и растёт журнал — процесс работает, ждите. Прерывать реструктуризацию следует только при явной ошибке; после прерывания восстанавливайте базу из бэкапа.
Достаточно ли выгрузки .dt вместо бэкапа SQL Server?
Для маленькой базы — как дополнительная мера, да. Для рабочих баз основным способом должен быть полный бэкап средствами СУБД: он быстрее, надёжнее и восстанавливается штатными средствами SQL Server за минуты.
Нужно ли обновлять платформу на сервере SQL Server?
На самом сервере SQL Server платформа 1С не устанавливается (кроме случаев, когда сервер 1С и SQL развёрнуты на одной машине). Платформу обновляют на сервере приложений 1С и на клиентских рабочих местах.
Как откатиться, если после обновления появились ошибки?
Завершите сеансы и восстановите базу из полного бэкапа, сделанного до обновления (RESTORE DATABASE ... WITH REPLACE). Имейте в виду: данные, введённые после обновления, будут потеряны, поэтому решение об откате нужно принимать быстро.
Сколько времени занимает обновление большой базы?
Зависит от объёма изменённых таблиц и производительности дисков SQL Server: от нескольких минут до нескольких часов. Точно оценить можно только тестовым обновлением копии базы — это рекомендуемая практика для крупных внедрений.
Что важно запомнить
Обновление 1С на SQL Server сводится к пяти шагам: проверка совместимости, полный бэкап средствами СУБД, выгон пользователей и блокировка сеансов, обновление в конфигураторе с реструктуризацией, проверка результата и возврат в работу. Без проверенного бэкапа начинать нельзя.