Mise à niveau du moteur de base de données Microsoft SQL Server - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise à niveau du moteur de base de données Microsoft SQL Server

Lorsque Amazon RDS prend en charge une nouvelle version d'un moteur de base de données, vous pouvez mettre à niveau vos instances de base de données vers cette nouvelle version. Il existe deux types de mises à niveau pour les instances de base de données SQL Server : les mises à niveau de version majeure et les mises à niveau de version mineure.

Les mises à niveau de version majeure peuvent contenir des modifications de base de données qui ne sont pas rétrocompatibles avec les applications existantes. En conséquence, vous devez effectuer manuellement les mises à niveau de version majeure de vos instances de base de données. Vous pouvez lancer une mise à niveau de version majeure en modifiant votre instance de base de données. Cependant, avant d'effectuer une mise à niveau de version majeure, nous vous recommandons de tester la mise à niveau en suivant les étapes décrites dans Test d'une mise à niveau.

En revanche, une mise à niveau de version mineure contient uniquement des modifications rétrocompatibles avec les applications existantes. Vous pouvez lancer manuellement une mise à niveau de version mineure en modifiant votre instance de base de données.

Vous pouvez également activer l'option Mise à niveau automatique des versions mineures lorsque vous créez ou modifiez une instance de base de données. Dans ce cas, votre instance de base de données est automatiquement mise à niveau une fois que Amazon RDS a testé et approuvé la nouvelle version. Utilisez la commande describe-db-engine-versions AWS CLI pour confirmer si la mise à niveau de version mineure doit être automatique. Par exemple :

aws rds describe-db-engine-versions --engine sqlserver-se --engine-version 14.00.3281.6.v1

Dans l'exemple suivant, la commande d'interface de ligne de commande renvoie une réponse affichant que AutoUpgrade true, ce qui indique que les mises à niveau sont automatiques.

... "ValidUpgradeTarget": [ { "Engine": "sqlserver-se", "EngineVersion": "14.00.3281.6.v1", "Description": "SQL Server 2017 14.00.3281.6.v1", "AutoUpgrade": true, "IsMajorVersionUpgrade": false } ...

Pour de plus amples informations sur l'exécution de mises à niveau, veuillez consulter Mise à niveau d'une instance de base de données SQL Server. Pour de plus amples informations sur les versions SQL Server disponibles sur Amazon RDS, veuillez consulter Amazon RDS for Microsoft SQL Server.

Présentation de la mise à niveau

Amazon RDS prend deux instantanés de base de données au cours du processus de mise à niveau. Le premier instantané de base de données porte sur l'instance de base de données avant que toute modification de mise à niveau soit apportée. Le second instantané de base de données est pris à la fin de la mise à niveau.

Note

Amazon RDS ne prend des instantanés de base de données que si vous avez défini la période de rétention des sauvegardes de votre instance de base de données sur un nombre supérieur à 0. Pour modifier la période de rétention des sauvegardes, consultez Modification d'une instance de base de données Amazon RDS.

Une fois la mise à niveau terminée, vous ne pouvez pas rétablir la version précédente du moteur de base de données. Si vous souhaitez revenir à la version précédente, restaurez l'instantané de base de données pris avant la mise à niveau pour créer une nouvelle instance de base de données.

Au cours de la mise à niveau d'une version mineure ou majeure de SQL Server, les métriques Espace de stockage disponible et Profondeur de la file d'attente indiquent -1. Une fois la mise à niveau terminée, les deux métriques reviennent à la normale.

Mises à niveau de version majeure.

Amazon RDS prend actuellement en charge les mises à niveau de version majeure suivantes vers une instance de base de données Microsoft SQL Server.

Vous pouvez mettre à jour une instance de base de données existante vers SQL Server 2017 ou 2019 depuis n'importe quelle version, sauf SQL Server 2008. Pour mettre à niveau SQL Server 2008, effectuez d'abord une mise à niveau vers une des autres versions.

Version actuelle Versions de mise à niveau prises en charge

SQL Server 2019

SQL Server 2022

SQL Server 2017

SQL Server 2022

SQL Server 2019

SQL Server 2016

SQL Server 2022

SQL Server 2019

SQL Server 2017

SQL Server 2014

SQL Server 2022

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2012 (fin de la prise en charge)

SQL Server 2022

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2 (fin de la prise en charge)

SQL Server 2016

SQL Server 2014

SQL Server 2012

Vous pouvez utiliser une requête AWS CLI, comme dans l'exemple suivant, pour rechercher les mises à niveau disponibles pour une version particulière du moteur de base de données.

Pour LinuxmacOS, ou Unix :

aws rds describe-db-engine-versions \ --engine sqlserver-se \ --engine-version 14.00.3281.6.v1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \ --output table

Dans Windows :

aws rds describe-db-engine-versions ^ --engine sqlserver-se ^ --engine-version 14.00.3281.6.v1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^ --output table

La sortie indique que vous pouvez mettre à niveau la version 14.00.3281.6 vers les dernières versions disponibles de SQL Server 2017 ou 2019.

-------------------------- |DescribeDBEngineVersions| +------------------------+ | EngineVersion | +------------------------+ | 14.00.3294.2.v1 | | 14.00.3356.20.v1 | | 14.00.3381.3.v1 | | 14.00.3401.7.v1 | | 14.00.3421.10.v1 | | 14.00.3451.2.v1 | | 15.00.4043.16.v1 | | 15.00.4073.23.v1 | | 15.00.4153.1.v1 | | 15.00.4198.2.v1 | | 15.00.4236.7.v1 | +------------------------+

Niveau de compatibilité de base de données

Vous pouvez utiliser les niveaux de compatibilité de base de données Microsoft SQL Server afin de régler certains comportements de base de données pour imiter les versions précédentes de SQL Server. Pour de plus amples informations, veuillez consulter Niveau de compatibilité dans la documentation de Microsoft.

Lorsque vous mettez à niveau votre instance de base de données, toutes les bases de données existantes restent à leur niveau de compatibilité initial. Par exemple, si vous mettez à niveau SQL Server 2014 vers SQL Server 2016, toutes les bases de données existantes ont le niveau de compatibilité 120. Toute nouvelle base de données créée après la mise à niveau a le niveau de compatibilité 130.

Vous pouvez modifier le niveau de compatibilité d'une base de données en utilisant la commande ALTER DATABASE. Par exemple, pour modifier une base de données nommée customeracct afin qu'elle soit compatible avec SQL Server 2014, exécutez la commande suivante :

ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

Considérations relatives à l'environnement Multi-AZ et à l'optimisation en mémoire

Amazon RDS prend en charge les déploiements Multi-AZ pour les instances de base de données exécutant Microsoft SQL Server à l'aide de la mise en miroir de bases de données (DBM) ou des groupes de disponibilité (AG) AlwaysOn. Pour plus d'informations, consultez Déploiements multi-AZ pour Amazon RDS for Microsoft SQL Server.

Si votre instance de base de données se trouve dans un déploiement multi-AZ, les deux instances de base de données principale et de secours sont mises à niveau. Amazon RDS effectue des mises à niveau propagées. L'interruption n'intervient que pendant la durée d'un basculement.

SQL Server 2014 à 2019 Enterprise Edition prend en charge l'optimisation en mémoire.

Considérations relatives aux réplicas en lecture

Lors d'une mise à niveau de la version de la base de données, Amazon RDS met à niveau tous vos réplicas en lecture ainsi que l'instance de base de données principale. Amazon RDS ne prend pas en charge les mises à niveau de version de base de données sur les réplicas en lecture séparément. Pour plus d'informations sur les réplicas en lecture, consultez Utilisation des réplicas en lecture pour Microsoft SQL Server dans Amazon RDS.

Lorsque vous effectuez une mise à niveau de la version de la base de données de l'instance de base de donnée principale, tous les réplicas en lecture sont également automatiquement mis à niveau. Amazon RDS mettra à niveau tous les réplicas en lecture simultanément avant de mettre à niveau l'instance de base de données primaire. Les réplicas en lecture peuvent ne pas être disponibles tant que la mise à niveau de la version de la base de données sur l'instance de base de données principale n'est pas terminée.

Considérations relatives au groupe d'options

Si votre instance de base de données utilise un groupe d'options de base de données personnalisé, Amazon RDS ne peut pas toujours attribuer automatiquement un nouveau groupe d'options à votre instance de base de données. Par exemple, lorsque vous procédez à une mise à niveau vers une nouvelle version majeure, vous devez spécifier un nouveau groupe d'options. Nous vous recommandons de créer un nouveau groupe d'options et d'y ajouter les mêmes options qu'à votre groupe d'options personnalisé existant.

Pour plus d’informations, consultez Création d'un groupe d'options ou Copie d'un groupe d'options.

Considérations relatives au groupe de paramètres

Si votre instance de base de données utilise un groupe de paramètres de base de données personnalisé :

  • Amazon RDS redémarre automatiquement l'instance de base de données après une mise à niveau.

  • Dans certains cas, RDS n'est pas en mesure d'attribuer automatiquement un nouveau groupe de paramètres à votre instance de base de données.

    Par exemple, lorsque vous procédez à une mise à niveau vers une nouvelle version majeure, vous devez spécifier un nouveau groupe de paramètres. Nous vous recommandons de créer un nouveau groupe de paramètres et de configurer les mêmes paramètres que ceux de votre groupe de paramètres personnalisé existant.

Pour plus d'informations, veuillez consulter Création d'un groupe de paramètres de bases de données ou Copie d'un groupe de paramètres de bases de données.

Test d'une mise à niveau

Avant d'effectuer une mise à niveau de version majeure sur votre instance de base de données, vous devez tester soigneusement la compatibilité de votre base de données et de toutes les applications qui y accèdent avec la nouvelle version. Nous vous recommandons d'utiliser la procédure suivante.

Pour tester une mise à niveau de version majeure
  1. Consultez la mise à niveau de SQL Server dans la documentation Microsoft pour la nouvelle version du moteur de base de données afin de voir s'il existe des problèmes de compatibilité susceptibles d'affecter votre base de données ou vos applications.

  2. Si votre instance de base de données utilise un groupe d'options personnalisé, créez un nouveau groupe d'options compatible avec la version vers laquelle vous procédez à la mise à niveau. Pour plus d'informations, consultez Considérations relatives au groupe d'options.

  3. Si votre instance de base de données utilise un groupe de paramètres personnalisé, créez un nouveau groupe de paramètres compatible avec la version vers laquelle vous procédez à la mise à niveau. Pour plus d'informations, consultez Considérations relatives au groupe de paramètres.

  4. Créez un instantané de base de données de l'instance de base de données à mettre à niveau. Pour plus d'informations, consultez Création d'un instantané de base de données pour une instance de base de données mono-AZ.

  5. Restaurez l'instantané de base de données pour créer une nouvelle instance de base de données de test. Pour plus d'informations, consultez Restauration à partir d'un instantané de base de données.

  6. Modifiez cette nouvelle instance de base de données de test pour la mettre à niveau vers la nouvelle version, en utilisant l'une des méthodes suivantes :

  7. Évaluez le stockage utilisé par l'instance mise à niveau pour déterminer si la mise à niveau requiert un stockage supplémentaire.

  8. Exécutez sur l'instance de base de données mise à niveau autant de tests d'assurance qualité que nécessaire pour garantir que votre base de données et votre application fonctionnent correctement avec la nouvelle version. Implémentez tous les nouveaux tests requis pour évaluer l'impact des éventuels problèmes de compatibilité que vous avez identifiés à l'étape 1. Testez toutes les fonctions et procédures stockées. Dirigez les versions de test de vos applications vers l'instance de base de données mise à niveau.

  9. En cas de succès de tous les tests, effectuez la mise à niveau sur votre instance de base de données de production. Nous vous recommandons de ne pas autoriser les opérations d'écriture sur l'instance de base de données tant que vous n'avez pas confirmé que tout fonctionne correctement.

Mise à niveau d'une instance de base de données SQL Server

Pour plus d'informations sur la mise à niveau manuelle ou automatique d'une instance de base de données SQL Server, veuillez consulter les ressources suivantes :

Important

Si vous avez des instantanés qui sont chiffrés à l'aide de AWS KMS, nous vous recommandons de lancer une mise à niveau avant la fin de la prise en charge.

Mise à niveau des instances de base de données obsolètes avant la fin de la prise en charge

Lorsqu'une version majeure est obsolète, vous ne pouvez pas l'installer sur de nouvelles instances de base de données. RDS va essayer de mettre automatiquement à niveau toutes les instances de base de données existantes.

Si vous devez restaurer une instance de base de données obsolète, vous pouvez effectuer une point-in-time restauration (PITR) ou restaurer un instantané. Cela vous donne un accès temporaire à une instance de base de données qui utilise la version considérée comme obsolète. Cependant, une fois qu'une version majeure est totalement obsolète, ces instances de base de données sont également automatiquement mises à niveau vers une version prise en charge.