Стоит ли обновлять MS SQL Server до версии 2019 при работе с 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Вопрос выбора версии СУБД для систем 1С:Предприятие всегда остается актуальным. Многие администраторы придерживаются правила «работает — не трогай», однако технологический прогресс в области систем управления базами данных предоставляет инструменты, которые могут существенно ускорить работу учетных систем без изменения программного кода 1С. В данной статье мы проанализируем целесообразность перехода на MS SQL Server 2019, разберем технические преимущества этой версии и выясним, на какой прирост производительности можно рассчитывать.

Совместимость платформы 1С и MS SQL Server 2019

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

  1. Версия 8.3.15.1747 и выше.
  2. Версия 8.3.16.1030 и выше.
  3. Все последующие релизы, включая современные ветки 8.3.17, 8.3.23 и далее.

Если ваша платформа соответствует этим требованиям, переход технически возможен и безопасен. Рассмотрим подробнее, какие именно механизмы делают версию 2019 привлекательной для высоконагруженных систем 1С. Для предварительной проверки данных перед миграцией можно использовать обработку для поиска проблемных дат и широких индексов перед переносом на MS SQL Server.

Ключевые технологические преимущества версии 2019

В отличие от предыдущих версий (2016 и 2017), MS SQL Server 2019 представил комплекс технологий под общим названием Intelligent Query Processing (IQP). Проанализируем самые важные из них в контексте 1С:

1. Batch Mode on Rowstore (Пакетный режим для строковых хранилищ). Ранее пакетная обработка данных была доступна только при использовании Columnstore индексов. В версии 2019 SQL Server может обрабатывать данные пакетами (по 900 строк) даже в обычных таблицах. Это критически важно для тяжелых аналитических отчетов и запросов со сложными соединениями, которые часто встречаются в 1С:ERP или комплексных конфигурациях.

2. Memory Grant Feedback (Обратная связь по выделению памяти). Одной из частых проблем 1С является неоптимальное выделение памяти под запрос. Если SQL Server выделил слишком мало памяти, данные сбрасываются в медленную TempDB. Если слишком много — память простаивает. SQL 2019 «запоминает» фактическое потребление памяти запросом и при следующем запуске корректирует выделение ресурсов.

3. Memory-optimized TempDB Metadata. Системы 1С крайне интенсивно используют временные таблицы. В старых версиях SQL Server возникали задержки (контенция) на системных страницах TempDB при массовом создании и удалении мелких таблиц. В 2019-й версии метаданные TempDB могут быть перенесены в оперативную память, что устраняет это узкое место.

4. Accelerated Database Recovery (ADR). Эта функция кардинально меняет работу с логом транзакций. Если происходит сбой или отмена длительной транзакции (например, при групповом перепроведении документов), откат в версии 2019 происходит практически мгновенно, не блокируя базу на длительное время.

Ожидаемый прирост производительности

Рассмотрим результаты практических тестов. При переходе со старых версий (например, SQL 2014) средний прирост производительности на задачах 1С составляет порядка 15-30%. При переходе с версии 2016 на 2019 можно ожидать ускорения в пределах 10-15% на штатных операциях и более значительного эффекта на сложных расчетах.

Выясним причину возможных замедлений. В редких случаях (около 5-7% падения скорости на конкретных отчетах) виноват новый Cardinality Estimator (оценщик количества строк). Рассмотрим, как решить эту проблему, не отказываясь от преимуществ новой версии.

Тонкая настройка после перехода

После установки MS SQL Server 2019 и миграции базы 1С необходимо выполнить несколько обязательных шагов, чтобы задействовать все возможности СУБД:

  1. Обновление уровня совместимости (Compatibility Level). После переноса базы уровень совместимости часто остается старым (например, 130 для SQL 2016). Его нужно вручную переключить на 150.
  2. Обновление статистики. Сразу после перехода выполните полную очистку процедурного кэша и обновление статистики командой:
    
    UPDATE STATISTICS [ИмяВашейБазы];
    DBCC FREEPROCCACHE;
    
  3. Настройка Cardinality Estimation. Если вы заметили, что какой-то отчет стал работать медленнее, не обязательно откатывать всю базу. Можно включить использование старого оптимизатора только для текущей базы через настройки Scoped Configurations. В свойствах базы найдите параметр Legacy Cardinality Estimation и установите его в ON, сохранив при этом уровень совместимости 150 для работы остальных функций IQP.

Рекомендации по оборудованию

Посмотрим на ситуацию со стороны аппаратного обеспечения. Если используется сервер уровня i5 с 32 ГБ оперативной памяти, важно помнить, что SQL Server 2019 более агрессивно работает с кэшированием. Рассмотрим рекомендации по настройке:

Обязательно ограничьте параметр Max Server Memory. Если 1С и SQL работают на одной машине, оставьте операционной системе и серверу приложений 1С не менее 6–8 ГБ памяти, остальное отдайте SQL Server. Это предотвратит «вымывание» памяти и обеспечит стабильную работу обоих компонентов.

Итоговое резюме

Стоит ли обновляться? Да, стоит, если ваша платформа 1С выше версии 8.3.15. Переход на MS SQL Server 2019 — это не просто смена версии, а получение доступа к современным методам оптимизации запросов, которые особенно эффективны для сложных структур данных 1С.

Разберем краткий алгоритм действий:

  1. Проверьте версию платформы 1С.
  2. Сделайте тестовую копию базы на новом сервере. При работе с группой систем процесс создания копий и технического обслуживания выполняет автоматическое архивирование и обслуживание баз 1С.
  3. Замерьте время выполнения ключевых операций (проведение документов, закрытие месяца). Для контроля идентичности проводок после миграции на новую СУБД применяется автоматическая сверка проводок между базами 1С.
  4. При отсутствии критических ошибок переводите рабочую базу, не забыв обновить Compatibility Level до 150 и выполнить UPDATE STATISTICS.

Помните, что версия 2019 на данный момент является одной из самых стабильных и проверенных в эксплуатации с 1С, превосходя по эффективности механизмов оптимизации как 2016, так и 2017 версии. Для комплексного аудита параметров базы и сервера после перехода можно использовать инструмент для чек-апа СУБД под 1С.

← На главную