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

Область применения: SQL Server — только Для Windows

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

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

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

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

Перед обновлением ядро СУБД ознакомьтесь со следующим контрольным списком и связанными статьями. Эти статьи относятся ко всем методам обновления и помогут вам подобрать оптимальный: последовательное обновление, обновление путем новой установки или обновление на месте. Например, при обновлении операционной системы, обновлении с SQL Server 2005 (9.x) или обновлении с 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.

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

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

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

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

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

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

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

      Кроме того, нехватка места на диске во время этой процедуры приводит к сбою восстановления. Убедитесь, что на диске достаточно места для хранения существующей базы данных, а также дополнительного хранилища, равного текущему размеру контейнеров в файловой группе в MEMORY_OPTIMIZED_DATA базе данных для выполнения обновления на месте или при присоединении базы данных SQL Server 2014 (12.x) к экземпляру, на котором запущен SQL Server 2016 (13.x) или более поздней версии. Используйте следующий запрос, чтобы определить место на диске, необходимое для 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 и Параметры командной строки средства администрирования (программа распределенного воспроизведения).