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

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.

Amazon RDS sur SQL Server ne prend pas en charge les mises à niveau automatiques des versions mineures. Vous pouvez confirmer ces informations en utilisant la commande describe-db-engine-versions AWS CLI. Exemples :

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

Dans cet exemple, la commande de l'interface de ligne de commande renvoie la réponse suivante qu indique que la mise à niveau ne sera pas automatique, même si l'option Mise à niveau automatique des versions mineures a été sélectionnée :

... "ValidUpgradeTarget": [ { "Engine": "sqlserver-se", "EngineVersion": "14.00.3192.2.v1", "Description": "SQL Server 2017 14.00.3192.2.v1", "AutoUpgrade": false, "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 Microsoft SQL Server sur Amazon RDS.

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. Si la mise à niveau ne fonctionne pas pour vos bases de données, vous pouvez restaurer cet instantané pour créer une instance de base de données exécutant l'ancienne version. 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 une 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 à partir de 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 2016

SQL Server 2017

SQL Server 2014

SQL Server 2017

SQL Server 2016

SQL Server 2012

SQL Server 2017

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2 (obsolète)

SQL Server 2016

SQL Server 2014

SQL Server 2012

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 2012 vers SQL Server 2014, toutes les bases de données existantes ont le niveau de compatibilité 110. Toute nouvelle base de données créée après la mise à niveau a le niveau de compatibilité 120.

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 de plus amples informations, veuillez consulter Déploiements multi-AZ pour 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/2016/2017 Enterprise Edition prend en charge l'optimisation en mémoire.

Considérations relatives au groupe d'options et de paramètres

Considérations relatives au groupe d'options

Si votre instance de base de données utilise un groupe d'options 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 de version majeure. Dans ce cas, vous devez spécifier un nouveau groupe d'options pendant la mise à niveau. 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 de plus amples informations, veuillez consulter Création d'un groupe d'options ou Réalisation d'une 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 personnalisé, Amazon RDS ne peut pas toujours attribuer automatiquement un nouveau groupe de paramètres à votre instance de base de données. Par exemple, lorsque vous procédez à une mise à niveau de version majeure. Dans ce cas, vous devez spécifier un nouveau groupe de paramètres pendant la mise à niveau. 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 de plus amples informations, veuillez consulter Création d'un groupe de paramètres DB ou Copie d'un groupe de paramètres DB.

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. Passez en revue la documentation de la mise à niveau pour la nouvelle version du moteur de base de données afin de voir si des problèmes de compatibilité peuvent 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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter Création d'un instantané de base de données.

  5. Restaurez l'instantané de base de données pour créer une nouvelle instance de base de données de test. Pour de plus amples informations, veuillez consulter 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 de plus amples 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 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 restauration à un instant donné (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.