Планирование и проверка плана обновления ядро СУБД
Область применения: SQL Server — только Для Windows
Для успешного обновления SQL Server независимо от подхода требуется соответствующее планирование.
Заметки о выпуске и известные проблемы при обновлении
Перед обновлением ядро СУБД ознакомьтесь со следующими сведениями:
- Заметки о выпуске SQL Server 2022
- Заметки о выпуске для SQL Server 2019
- Заметки о выпуске для SQL Server 2017
- Заметки о выпуске для SQL Server 2016
- Статья о обратной совместимости 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) требуют обновленного поставщика для каждого клиента или обновленного поставщика для предоставления дополнительных функций:
-
Внимание
Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Обновление системы безопасности для 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):
Выполните восстановление базы данных с использованием старого формата данных на диске (включая загрузку всех данных из оптимизированных для памяти таблиц в память на диске)
Выполните сериализацию данных на диск в новом формате на диске.
Выполните восстановление базы данных с использованием нового формата (включая загрузку всех данных из оптимизированных для памяти таблиц в память на диске)
Кроме того, нехватка места на диске во время этой процедуры приводит к сбою восстановления. Убедитесь, что на диске достаточно места для хранения существующей базы данных, а также дополнительного хранилища, равного текущему размеру контейнеров в файловой группе в
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 и Параметры командной строки средства администрирования (программа распределенного воспроизведения).