Планирование и тестирование плана обновления системы управления базами данных (СУБД)
Область применения: 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) и Azure SQL Database. Эту функцию планируется удалить в будущих версиях ядра СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Слушатели групп доступности, подключение клиентов и переключение при отказе приложений (SQL Server)
Обновление системы безопасности для TLS
Сторонние компоненты. Проверьте совместимость сторонних компонентов, таких как интегрированное резервное копирование.
Целевая среда. Целевая среда должна соответствовать требованиям к оборудованию и программному обеспечению, а также поддерживать требования исходной системы. Например, обновление может включать консолидацию нескольких экземпляров SQL Server в один, новый экземпляр SQL Server или виртуализацию среды SQL Server в частное или общедоступное облако.
Выпуск. Определите соответствующий выпуск SQL Server для обновления и определите допустимые пути обновления для обновления. Дополнительные сведения см. в разделе «Поддерживаемые обновления версий и изданий». Перед обновлением одного выпуска 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 все проблемы с блокировкой перед планированием обновления. Дополнительные сведения см. в разделе Проверка параметров для Проверки конфигурации системы.
Обновление оптимизированных для памяти таблиц: при обновлении экземпляра 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 и Параметры командной строки средства администрирования (программа распределенного воспроизведения).