Администрирование · 11 мин
Как обновлять 1С в клиент-серверном варианте на SQL
Пошаговое обновление базы 1С в клиент-серверном варианте на MS SQL или PostgreSQL: резервная копия, тестовый прогон, обновление конфигурации и проверка результата.
Обновление 1С в клиент-серверном варианте отличается от файловой базы: здесь задействованы минимум три компонента — платформа 1С:Предприятие, СУБД (MS SQL Server, PostgreSQL или другая) и сама конфигурация. Ошибка на любом из уровней может привести к простою учётной системы, поэтому обновление всегда начинают с резервной копии и тестового прогона на копии базы.
Под «обновлением 1С SQL» обычно понимают три разные задачи: установку нового релиза платформы на сервер 1С, обновление конфигурации базы данных (например, «1С:Бухгалтерии» или «1С:ERP») и обновление самой СУБД. Каждая задача выполняется по своему порядку действий, и смешивать их в одном окне обслуживания без необходимости не стоит.
Ниже разобран практический порядок работ: подготовка, резервное копирование средствами SQL, обновление платформы и конфигурации, проверка результата и типичные ошибки администраторов.
Что именно обновляется в связке 1С и SQL
Перед началом работ важно определить, какой именно компонент требует обновления, потому что процедуры не пересекаются.
Платформа 1С:Предприятие — это серверные и клиентские компоненты. Новые релизы конфигураций часто требуют минимальную версию платформы, поэтому платформу обновляют первой. Установка выполняется на сервере 1С и на всех клиентских машинах (или через тонкий клиент с сервера).
Конфигурация базы данных — прикладное решение (бухгалтерия, зарплата, ERP). Обновляется через конфигуратор: «Конфигурация → Поддержка → Обновить конфигурацию» или через поставку обновления из интернет-поддержки. После загрузки обновления требуется запуск в режиме предприятия для выполнения обработчиков обновления данных.
СУБД (MS SQL Server, PostgreSQL) обновляется редко и по отдельному регламенту — накопительные пакеты Microsoft или смена версии сервера. Эту задачу лучше не совмещать с обновлением конфигурации, чтобы при проблемах было понятно, какой компонент виноват.
Подготовка: копия, доступы и окно обслуживания
Обновление рабочей базы планируют на нерабочее время: вечер, ночь или выходные. Длительность зависит от размера базы и объёма обработчиков обновления — на больших базах реструктуризация и обработчики могут идти часами.
Проверьте заранее: есть ли у вас учётная запись с полными правами в 1С, доступ администратора к серверу 1С и к SQL-серверу, актуальный логин и пароль от портала 1С для скачивания обновлений, достаточно ли свободного места на дисках SQL-сервера. Ориентировочно места нужно не меньше, чем занимает база данных плюс запас на временные таблицы и журнал транзакций.
Согласуйте с пользователями время простоя и запретите запланированные на это время обмены, обмены с сайтом, банк-клиенты и регламентные задания — их нужно отключить до завершения обновления, иначе возможны ошибки блокировок и рассинхронизация данных.
Резервное копирование средствами SQL
Для клиент-серверной базы основной способ резервного копирования — полный бэкап средствами СУБД. Он быстрее и надёжнее выгрузки в DT, а восстановление большой базы из DT может занять неприемлемо много времени.
Для MS SQL Server полная копия создаётся через SQL Server Management Studio (правой кнопкой по базе → Tasks → Back Up → Full) или командой T-SQL:
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backup\MyBase1C_before_update.bak' WITH COMPRESSION, CHECKSUM;Для PostgreSQL используется утилита pg_dump или pg_basebackup в зависимости от принятой схемы резервного копирования. После создания копии убедитесь, что файл бэкапа физически существует, имеет ненулевой размер и, в идеале, восстанавливается в тестовую базу — именно тестовое восстановление подтверждает работоспособность копии.
Дополнительно можно снять копию виртуальной машины снапшотом, если сервер виртуализирован, но снапшот не заменяет бэкап: это разные механизмы с разными гарантиями целостности.
Обновление платформы 1С на сервере
Новый релиз платформы скачивается с портала 1С (раздел обновлений программ) по действующей подписке. Установка на сервер выполняется под учётной записью с правами администратора: запускается setup.exe из дистрибутива, выбираются компоненты «Сервер 1С:Предприятия» и нужные интерфейсы.
Особенности серверной установки: служба агента сервера 1С будет перезапущена, поэтому активные сеансы пользователей прервутся — это ещё одна причина работать в окно обслуживания. Несколько версий платформы могут сосуществовать на одном сервере, и в свойствах информационной базы в консоли кластера указывается, какую версию использовать.
- 1Скачайте дистрибутив нужного релиза платформы с портала 1С
- 2Завершите сеансы пользователей и остановите регламентные задания
- 3Установите новый релиз поверх или рядом с существующим
- 4Проверьте, что служба агента сервера запущена и кластер доступен
- 5В свойствах базы укажите нужную версию платформы, если их несколько
- 6Обновите клиентские приложения или настройте публикацию тонкого клиента
После установки проверьте, что служба «Агент сервера 1С:Предприятия» работает, консоль администрирования видит кластер, а база открывается в режиме предприятия под учётной записью администратора.
Обновление конфигурации базы данных
Это центральный этап. Выполняется в конфигураторе под пользователем с полными правами и только в монопольном режиме.
- Откройте конфигуратор и установите монопольный режим, завершив остальные сеансы через консоль кластера или команду «Администрирование → Поддержка и обслуживание».
- Отключите регламентные и фоновые задания в свойствах базы или через консоль заданий.
- Выполните «Конфигурация → Поддержка → Обновить конфигурацию». Выберите источник: поиск обновлений через интернет или файл поставки (.cfu), скачанный заранее.
- Согласитесь на обновление конфигурации базы данных (F7). При реструктуризации примите изменения после проверки списка изменяемых объектов.
- После завершения запустите базу в режиме предприятия под полными правами — стартуют обработчики обновления данных. Не прерывайте этот процесс.
- Дождитесь сообщения об успешном завершении, включите регламентные задания и разрешите работу пользователей.
Если пропущено несколько релизов, типовая конфигурация обычно обновляется последовательно — мастер сам предложит цепочку промежуточных версий. Попытка «перепрыгнуть» через много релизов вручную через CF-файл часто заканчивается ошибками обработчиков.
Тестовый прогон на копии базы
Правило безопасной работы: любое обновление сначала проходит на копии. Восстановите SQL-бэкап в отдельную базу с другим именем, зарегистрируйте её в кластере 1С как тестовую (или на отдельном тестовом сервере) и выполните полный цикл обновления.
Тестовый прогон решает три задачи: показывает реальную длительность обновления (это позволяет спланировать окно обслуживания), выявляет ошибки обработчиков и нетиповые доработки, конфликтующие с новым релизом, и даёт возможность проверить ключевые сценарии — проведение документов, формирование отчётов, обмены.
Если конфигурация доработана, на тестовой копии проверьте, что все доработки корректно объединились при обновлении: режим сравнения и объединения требует ручного контроля по каждому изменённому объекту.
Засеките время тестового обновления и добавьте запас 30–50% при планировании обновления рабочей базы: на боевом сервере рядом работают другие базы, и нагрузка на диски выше.
Проверка результата и типичные ошибки
После обновления рабочей базы выполните контрольные проверки до того, как пустите пользователей.
| Что проверяем | Норма | Признак проблемы |
|---|---|---|
| Версия конфигурации | Соответствует установленному релизу (О программе) | Старая версия — обновление не применилось |
| Обработчики обновления | Все выполнены, статус «завершено» | Ошибки в журнале регистрации, незавершённые обработчики |
| Проведение документов | Тестовый документ проводится без ошибок | Ошибки метаданных, отсутствующие объекты |
| Регламентные задания | Включены и выполняются по расписанию | Задания заблокированы или падают с ошибкой |
| Обмены и интеграции | Тестовый обмен проходит успешно | Ошибки формата, зависшие сообщения |
Если обновление завершилось ошибкой, не пытайтесь повторять его вслепую: зафиксируйте текст ошибки из журнала регистрации и технологического журнала, оцените состояние базы. В ряде случаев безопаснее восстановить бэкап и повторить процедуру с учётом найденной причины.
Что важно запомнить
Безопасное обновление 1С на SQL строится на трёх опорах: проверенный SQL-бэкап, тестовый прогон на копии и монопольный режим при обновлении конфигурации. Платформу обновляют до конфигурации, обработчики обновления не прерывают, пользователей пускают только после контрольных проверок.
Частые вопросы
Можно ли обновить конфигурацию без обновления платформы?
Только если текущая версия платформы удовлетворяет минимальным требованиям нового релиза конфигурации. Требования указаны в описании релиза на портале 1С. Если требуемая версия выше установленной, сначала обновляется платформа, иначе обновление конфигурации завершится ошибкой или база не запустится.
Чем SQL-бэкап лучше выгрузки в DT перед обновлением?
SQL-бэкап создаётся и восстанавливается значительно быстрее на больших базах и сохраняет базу целиком на уровне СУБД. Выгрузка DT на базе в сотни гигабайт может занимать много часов и дополнительно нагружает сервер. DT разумно использовать как дополнительную страховку для небольших баз или для переноса между разными СУБД.
Что делать, если обработчики обновления зависли?
Сначала убедитесь, что процесс действительно стоит: проверьте активность на SQL-сервере (активные запросы, рост журнала транзакций). Длительные запросы на больших таблицах — норма. Если активности нет длительное время, завершите сеанс, проанализируйте журнал регистрации и технологический журнал, устраните причину (нехватка места, блокировки) и запустите обновление повторно — обработчики продолжат с места остановки.
Нужно ли обновлять СУБД вместе с 1С?
Нет, это независимые задачи. СУБД обновляют по собственному регламенту — ради исправлений безопасности или перехода на поддерживаемую версию. Совмещать обновление СУБД и конфигурации в одном окне обслуживания не рекомендуется: при проблемах будет сложно определить источник сбоя.
Как откатить обновление, если что-то пошло не так?
Единственный надёжный способ — восстановить базу из SQL-бэкапа, сделанного до обновления, и вернуть прежнюю версию платформы, если она менялась. Данные, введённые после обновления, при откате будут потеряны, поэтому решение об откате принимайте быстро и до начала работы пользователей.
Можно ли обновлять 1С, пока пользователи работают?
Установку дистрибутива платформы и подготовку файлов обновления — да. Само обновление конфигурации базы данных — нет: оно требует монопольного доступа, все сеансы должны быть завершены, а регламентные задания остановлены. Попытка обновить «на живую» гарантированно закончится ошибками блокировок.