Составление и тестирование плана обновления ядра СУБД

Применяется только к:SQL Server — только Windows

Для успешного обновления SQL Server независимо от подхода требуется соответствующее планирование.

Заметки о выпуске и известные проблемы при обновлении

Перед обновлением ядро СУБД ознакомьтесь со следующими сведениями:

Контрольный список планирования обновления

Перед обновлением ядро СУБД ознакомьтесь со следующими проверка списками и связанными статьями. Эти статьи относятся ко всем методам обновления и помогут вам подобрать оптимальный: последовательное обновление, обновление путем новой установки или обновление на месте. Например, вы не можете выполнить обновление на месте или последовательное обновление при обновлении операционной системы, SQL Server 2005 или 32-разрядной версии SQL Server. Дерево принятия решений см. в разделе Choose a Database Engine Upgrade Method.

  • Требования к оборудованию и программному обеспечению. Проверьте требования к оборудованию и программному обеспечению для установки SQL Server. Эти требования описываются в разделе Требования к оборудованию и программному обеспечению для установки SQL Server. В ходе планирования обновления необходимо рассмотреть обновление оборудования (новое оборудование работает быстрее и может позволить сократить число лицензий, например благодаря меньшему количеству процессоров или консолидации баз данных и серверов) и обновление операционной системы. Такие изменения оборудования и программного обеспечения влияют на выбор метода обновления.

  • Текущая среда. Изучите текущую среду, чтобы понять используемые компоненты SQL Server и клиенты, которые подключаются к вашей среде.

    • Поставщики клиентов . Хотя обновление платформы не требует непременного обновления поставщиков для каждого из клиентов, вы можете это сделать. При обновлении с SQL Server 2014 (12.x) или более ранних версий следующие функции SQL Server 2016 (13.x) требуют обновленного поставщика для каждого клиента или обновленного поставщика для предоставления дополнительных функций:

    • Always Encrypted (ядро СУБД)

    • База данных Stretch

      Важно!

      Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

    • Прослушиватели групп доступности, возможность подключения клиентов и отработка отказа приложений (SQL Server)

    • Обновление системы безопасности для TLS

  • Сторонние компоненты. Проверьте совместимость сторонних компонентов, таких как интегрированное резервное копирование.

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

  • Выпуск. Определите соответствующий выпуск SQL Server для обновления и определите допустимые пути обновления для обновления. Дополнительные сведения см. в разделе Supported Version and Edition Upgrades. Перед обновлением одного выпуска SQL Server до другого убедитесь, что в выпуске, в котором выполняется обновление, поддерживается ли функция, которую вы используете.

    Примечание.

    При обновлении SQL Server с предыдущей версии выпуска SQL Server Enterprise выберите между выпуск Enterprise: лицензирование на основе ядра и выпуск Enterprise. Эти выпуски Enterprise отличаются только режимом лицензирования. Дополнительные сведения см. в разделе Compute Capacity Limits by Edition of SQL Server.

  • Обратная совместимость. Ознакомьтесь со статьей, посвященной обратной совместимости ядра СУБД SQL Server, в которой описываются изменения в поведении между SQL Server и версией SQL Server, которую вы обновляете. См. раздел SQL Server Database Engine Backward Compatibility.

  • Помощник по миграции данных. Запустите помощник по миграции данных, который поможет выявить проблемы, препятствующие обновлению, и критические изменения, из-за которых требуется изменить существующие сценарии или приложения.

    Помощник по миграции данных можно скачать здесь.

  • Системная конфигурация проверка er: запустите средство проверки конфигурации SQL Server (SCC), чтобы определить, обнаруживает ли программа установки SQL Server все проблемы блокировки перед планированием обновления. Дополнительные сведения см. в разделе Check Parameters for the System Configuration Checker.

  • Обновление таблиц, оптимизированных для памяти. Если вы обновляете до версии SQL Server 2016 экземпляр базы данных SQL Server 2014, содержащей оптимизированные для памяти таблицы, то процессу потребуется дополнительное время на преобразование таких таблиц в новый формат на диске. Кроме того, пока выполняется эта процедура, база данных будет отключена. Время, необходимое для этой процедуры, зависит от размера таблиц, оптимизированных для памяти, и быстродействия подсистемы ввода-вывода. Для обновления на месте и обновления путем новой установки требуется трехкратный размер операций с данными (шаг 1 не требуется для последовательного обновления, однако шаги 2 и 3 обязательны):

    1. Выполните восстановление базы данных с использованием старого формата данных на диске (включая загрузку всех данных из оптимизированных для памяти таблиц в память на диске)

    2. Выполните сериализацию данных на диск в новом формате на диске.

    3. Выполните восстановление базы данных с использованием нового формата (включая загрузку всех данных из оптимизированных для памяти таблиц в память на диске)

      Кроме того, нехватка места на диске во время этой процедуры приводит к сбою восстановления. Для обновления на месте или при подключении базы данных SQL Server 2014 к экземпляру SQL Server 2016 убедитесь, что на диске достаточно места для хранения существующей базы данных и есть дополнительное пространство, соответствующее текущему размеру контейнеров в файловой группе MEMORY_OPTIMIZED_DATA базы данных. Чтобы определить, сколько места на диске сейчас требуется для файловой группы MEMORY_OPTIMIZED_DATA и, соответственно, сколько свободного места нужно для обновления, используйте следующий запрос:

    SELECT CAST(SUM(size) AS FLOAT) * 8 / 1024 / 1024 AS [size in GB]
    FROM sys.database_files
    WHERE data_space_id IN
    (
        SELECT data_space_id
        FROM sys.filegroups
        WHERE type = N'FX'
    );
    

Разработка и тестирование плана обновления

Рекомендуется подходить к обновлению как к любому другому ИТ-проекту. Сформируйте рабочую группу по обновлению, включающую администратора базы данных, специалистов по сетям, извлечению, преобразованию и загрузке (ETL) и другим сферам, затрагиваемым в процессе обновления. Группа должна:

  • выбрать метод обновления — см. раздел Выбор метода обновления компонента Database Engine;

  • разработать план отката — выполнение этого плана позволит восстановить исходную среду, если потребуется откат;

  • определить условия приемки — необходимо убедиться в успешном завершении обновления перед переносом пользователей в обновленную среду;

  • провести тестирование плана — для тестирования производительности на уровне фактической нагрузки используйте программу распределенного воспроизведения Microsoft SQL Server. Эта программа позволяет использовать несколько компьютеров для воспроизведения данных трассировки и моделирования ответственной рабочей нагрузки. С помощью воспроизведения на тестовом сервере до и после обновления SQL Server можно измерить разницу в производительности и обнаружить любые проблемы совместимости приложений с обновлением. Дополнительные сведения см. в статьях Распределенное воспроизведение SQL Server и Параметры командной строки средства администрирования (программа распределенного воспроизведения).

Следующие шаги