Comment puis-je mettre à niveau ou rétrograder l'édition du moteur SQL Server dans RDS for SQL Server ?

Lecture de 8 minute(s)
0

Je souhaite mettre à niveau ou rétrograder l'édition du moteur SQL Server dans Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server.

Brève description

Amazon RDS for SQL Server prend en charge les éditions Express, Web, Standard et Enterprise. Vous ne pouvez pas utiliser la console Amazon RDS ou l'interface de ligne de commande AWS (AWS CLI) pour effectuer une modification de l'édition de SQL Server sur place.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Mettre à niveau l'édition du moteur SQL Server

Créez un instantané RDS de votre instance RDS for SQL Server existante, puis restaurez une nouvelle instance RDS à partir de l'instantané. Pour connaître les limites de mise à niveau, consultez la section Considérations relatives à Microsoft SQL Server.

Procédez comme suit :

  1. Créez un instantané de l'instance RDS for SQL Server d'origine.
  2. Restaurez l’instantané pour créer une nouvelle instance RDS. Lorsque vous restaurez l'instance, sélectionnez une édition ultérieure de la base de données.
  3. Renommez ou supprimez l'instance RDS for SQL Server d'origine afin de pouvoir réutiliser le nom du point de terminaison DNS. Pour plus d'informations, consultez la section Renommer l'instance RDS de cet article.

Pour passer de l'édition Standard à l'édition Enterprise, consultez la section Modifier une instance Amazon RDS for SQL Server de l'édition Standard à l'édition Enterprise.

Vous pouvez utiliser la même méthode d’instantané et de restauration pour les types de mises à niveau suivants :

  • De l'édition standard à l'édition Enterprise
  • De l’édition Web à l'édition Standard ou l'édition Enterprise
  • De l'édition Express à l'édition Web, l'édition Standard ou l'édition Enterprise

Remarque : Lorsque vous mettez à niveau l'édition, la restauration des instantanés crée une nouvelle instance RDS for SQL Server. La nouvelle instance utilise un point de terminaison RDS différent de celui de l'instance source de l’instantané.

Rétrograder l'édition SQL Server

La rétrogradation sur place d'une instance RDS for SQL Server d’éditions ultérieures vers des éditions antérieures n'est pas prise en charge. Toutefois, vous pouvez effectuer l'un des types de rétrogradation suivants :

  • De l'édition Enterprise à l'édition Standard, Web ou Express
  • De l’édition standard à l'édition Web ou Express
  • De l'édition Web à l'édition Express

Pour rétrograder votre édition RDS for SQL Server, utilisez l'option de sauvegarde et de restauration natives, AWS Database Migration Service (AWS DMS) ou d'autres outils. Choisissez une option de rétrogradation selon des facteurs tels que la durée d’indisponibilité, les efforts et la complexité de votre cas d'utilisation.

Option de sauvegarde et de restauration natives dans RDS for SQL Server

La sauvegarde et la restauration natives créent une sauvegarde complète des bases de données sur l'instance RDS for SQL Server source existante.

Pour passer d'une instance Enterprise source à une instance Standard cible, procédez comme suit :

  1. Créez une nouvelle instance de base de données RDS for SQL Server avec l'édition Standard.
  2. Ajoutez l'option de sauvegarde et de restauration natives sur les instances Enterprise source et cible de l'édition Standard.
  3. Sauvegardez chaque base de données utilisateur de l'instance Enterprise source dans un compartiment Amazon Simple Storage Service (Amazon S3).
  4. Exécutez la requête sys.dm_dm_persisted_sku-features sur chaque base de données de l'instance Enterprise source :
    USE database-name
        GO
        SELECT feature_name FROM sys.dm_db_persisted_sku_features;
        GO
    Remarque : Remplacez database-name par le nom de votre base de données.
    La requête précédente vérifie si des fonctionnalités sont actuellement connectées à la dernière édition. Les fonctionnalités connectées à l'édition ultérieure peuvent ne pas fonctionner lorsque vous restaurez les bases de données sur l'instance cible de l'édition précédente. Pour plus d'informations, consultez la page sys.dm_db_persisted_sku_features (Transact-SQL) sur le site Web de Microsoft.
  5. Restaurez les sauvegardes du compartiment Amazon S3 vers l'instance standard cible.
  6. Créez les connexions et les utilisateurs requis dans les bases de données d'instance Standard cibles. Créez également le groupe de sécurité approprié et associez les groupes d'options de paramètres appropriés.

Remarque : Vous pouvez suivre les étapes précédentes pour exporter et importer des bases de données dans toutes les éditions de SQL Server sur RDS.

AWS DMS

AWS DMS répllque les modifications en cours depuis l'instance de l'édition ultérieure vers l'instance de l'édition précédente. AWS DMS permet la réplication unidirectionnelle et les tables de chargement en bloc, et capture les modifications de données prises en charge.

Pour plus d'informations, consultez la documentation AWS suivante :

Autres outils pour importer et exporter des données SQL Server

Vous pouvez également utiliser les outils suivants pour importer et exporter votre base de données :

  • Assistant d'importation et d'exportation de SQL Server
  • Assistant de génération et de publication de scripts
  • Copie en bloc (utilitaire bcp)

Remarque : Avant d'utiliser l'un des outils précédents, vous devez lancer l'instance avec l'édition antérieure de SQL Server.

Lorsque vous utilisez les outils pour déplacer des données, plusieurs problèmes de cohérence ou d'intégrité des données peuvent survenir et vous devez les résoudre. Avant d'utiliser l'un des outils, testez minutieusement le processus dans un environnement de test.

Pour l'assistant d'importation et d'exportation de SQL Server, créez et copiez le schéma des bases de données de l'instance source et l'objet sur l'instance cible. Puis, utilisez l'assistant pour copier des tables, des vues ou des requêtes d'une instance de base de données RDS for SQL Server vers un autre magasin de données.

Pour l'assistant de génération et de publication de scripts de SQL Server et l'utilitaire bcp, utilisez l'assistant pour créer des scripts pour une base de données complète ou des objets sélectionnés. Vous pouvez exécuter les scripts sur une instance de base de données SQL Server cible pour recréer les objets scriptés. Utilisez ensuite la fonction de copie en bloc pour exporter les données des objets sélectionnés vers l'instance de base de données cible. Exécutez l'utilitaire bcp à partir d'une instance Amazon Elastic Compute Cloud (Amazon EC2) connectée aux instances RDS source et cible.

Renommer l'instance RDS

Toutes les options précédentes entraînent la création d'une nouvelle instance RDS cible. La nouvelle instance RDS utilise un point de terminaison DNS RDS différent de l'instance RDS source existante.

Parfois, lorsque vous mettez à jour le nouveau point de terminaison RDS dans l'ensemble des applications et des services, la mise à jour de la chaîne de connexion est omise dans un composant et entraîne des erreurs.

Pour éviter ce problème, il est recommandé de renommer les instances RDS source et cible. Lorsque vous renommez les instances, l'instance d'édition cible utilise le même point de terminaison DNS RDS que l'instance d'édition source d'origine. Il n'est donc pas nécessaire de modifier les chaînes de connexion des applications ou services dépendants après avoir modifié l'édition.

Pour renommer les instances RDS source et cible après avoir modifié l'édition, procédez comme suit :

Remarque : Dans l'exemple de procédure suivant, l'instance RDS source est rds-original avec l'édition Enterprise et l'instance cible est rds-new avec l'édition Standard.

  1. Arrêtez tout le trafic entrant vers l'instance source rds-original.
  2. Mettez à niveau ou rétrogradez l'édition SQL Server sur l'instance RDS.
    Remarque : Après la mise à niveau ou la rétrogradation, l'instance source est rds-original et l'instance cible est rds-new.
  3. Modifiez l'instance source pour renommer l'instance de base de données de rds-original en un autre nom, tel que rds-original-old.
  4. Une fois que l'instance rds-original-old est à l'état Disponible, renommez l'instance de base de données cible de rds-new au nom d'origine de l'instance source, rds-original.
  5. Vérifiez que les instances sont renommées rds-original-old et rds-original et qu'elles sont à l'état Disponible.
  6. Maintenez les groupes de sécurité des nouvelles instances RDS cibles identiques à ceux de l'instance source afin de garantir la connectivité réseau à partir des applications existantes.
  7. Autorisez le trafic entrant vers l'instance rds-original qui utilise l'édition SQL Server requise. Il n'est pas nécessaire de modifier les chaînes de connexion de l'application car RDS possède le même point de terminaison DNS que l'instance source.
  8. Testez l'application pour vous assurer que la modification de l'édition de l'instance RDS n'entraîne aucune erreur.
  9. En l’absence d’erreurs, créez un instantané final de l'instance rds-original-old et supprimez-la pour réduire les coûts.

Remarque : Avant de mettre en œuvre des modifications dans l'environnement de production, il est recommandé de tester les activités dans un environnement de test.

Informations connexes

Recommandations AWS : Évaluer la rétrogradation de Microsoft SQL Server de l'édition Enterprise à l'édition Standard sur AWS