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

Lecture de 10 minute(s)
0

Je souhaite mettre à niveau ou rétrograder l'édition du moteur SQL Server dans Relational Database Service (Amazon RDS) pour SQL Server. Comment procéder ?

Brève description

Amazon RDS for SQL Server prend en charge les éditions Express, Web, Standard, and Enterprise. Vous ne pouvez pas modifier l'édition de SQL Server en tant que modification sur place à l'aide de la console RDS ou de l'interface de la ligne de commande AWS (AWS CLI).

Pour mettre à niveau votre édition SQL Server, créez un instantané, puis effectuez une restauration à l'aide de l'édition supérieure du moteur. Pour revenir à une version précédente, utilisez l'une des méthodes suivantes :

  • Utilisez l'option de sauvegarde et de restauration native dans RDS for SQL Server.
  • Utilisez AWS Database Migration Service (AWS DMS).
  • Importez et exportez des données SQL Server à l'aide d'autres outils.

Solution

Mettre à niveau l'édition du moteur SQL Server

Pour mettre à niveau l'édition du moteur SQL Server, créez un instantané RDS, puis effectuez une restauration à partir de cet instantané. Pour les limites de mise à niveau, veuillez consulter les considérations relatives à Microsoft SQL Server.

Pour effectuer une mise à niveau à l'aide d'un instantané, procédez comme suit :

1.    Créez un instantané de l'instance RDS for SQL Server d'origine.

2.    Restaurez l'instantané pris à l'étape 1 pour créer une instance RDS. Remplacez l'édition requise par l'édition supérieure lors de la restauration.

3.    Renommez ou supprimez l'instance RDS for SQL Server d'origine afin de libérer le nom du point de terminaison DNS pour le réutiliser. Pour plus d'informations, veuillez consulter la section Renommer l'instance RDS.

Pour des instructions et des étapes détaillées sur la mise à niveau de l'édition Standard vers l'édition Enterprise, veuillez consulter la rubrique Modifier une instance Amazon RDS for SQL Server de l'édition Standard vers l'édition Enterprise.

Vous pouvez utiliser le même instantané et la même méthode de restauration pour ces mises à niveau :

  • Édition Standard vers l'édition Enterprise
  • Édition Web vers l'édition Standard ou Enterprise
  • Édition Express vers édition Web, Standard ou Enterprise

Remarque importante : la restauration d'instantané lors de la mise à niveau de l'édition crée une instance RDS for SQL Server. La nouvelle instance possède 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 de l'instance RDS for SQL Server depuis des éditions supérieures vers des éditions inférieures n'est pas prise en charge en raison des limites liées à SQL Server en tant que produit. Toutefois, vous pouvez rétrograder votre édition de RDS for SQL Server dans l'une de ces combinaisons en suivant les options de contournement mentionnées plus loin :

  • Édition Enterprise vers l'édition Standard, Web ou Express
  • Édition standard vers l'édition Web ou Express
  • Édition Web vers l'édition Express

Pour rétrograder l'édition RDS for SQL Server, utilisez l'une des options suivantes :

Option 1 : utiliser l'option de sauvegarde et de restauration native dans RDS for SQL Server

Remarque : vous pouvez également utiliser cette option pour déplacer des bases de données d'éditions inférieures vers des éditions supérieures d'instances RDS.

La sauvegarde et la restauration natives créent une sauvegarde complète des bases de données sur l'instance source RDS for SQL Server existante . Stockez les sauvegardes sur Amazon Simple Storage Service (Amazon S3), puis restaurez les fichiers de sauvegarde sur une nouvelle instance RDS cible.

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

1.    Créez un RDS for SQL Server avec SQL Server édition standard. Il s'agit de la nouvelle instance cible.

2.    Ajoutez l'option de sauvegarde et de restauration native sur les instances de l'édition Enterprise source et Standard cible.

3.    Sauvegardez chaque base de données utilisateur de l'instance source (Enterprise) dans un compartiment S3.

4.    Exécutez la requête sys.dm_dm_persisted_sku-features (Transact-SQL) sur chaque base de données de l'instance source. Cette requête vérifie si certaines fonctionnalités actuellement utilisées sont liées à l'édition supérieure. Les fonctionnalités liées à l'édition supérieure peuvent ne pas fonctionner lorsque vous restaurez les bases de données sur l'instance cible de l'édition inférieure.

USE [database-name]
    GO
    SELECT feature_name FROM sys.dm_db_persisted_sku_features;
    GO

5.    Restaurez les sauvegardes du compartiment S3 vers l'instance RDS cible (Standard).

6.    Assurez-vous de créer les identifiants et les utilisateurs requis sur les bases de données de l'instance RDS cible. Créez également le groupe de sécurité approprié et associez les groupes paramètre-option appropriés. Ils sont identiques à ceux de l'instance RDS source.

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.

Option 2 : utiliser AWS DMS

Remarque : vous pouvez également utiliser cette option pour déplacer des bases de données d'éditions inférieures vers des éditions supérieures d'instances RDS.

Utilisez AWS DMS pour migrer vos bases de données. AWS DMS reproduit également les modifications en cours depuis l'instance de l'édition supérieure (le point de terminaison source) vers l'instance de l'édition inférieure (le point de terminaison cible).

AWS DMS permet la réplication unidirectionnelle, le chargement massif de tables et la capture des modifications des données (si elles sont prises en charge par les versions d'instance RDS source et cible pour les versions d'instance SQL Server).

Pour en savoir plus, veuillez consulter les rubriques suivantes :

Option 3 : importer et exporter des données SQL Server à l'aide d'autres outils

Vous pouvez utiliser ces outils supplémentaires pour importer et exporter votre base de données :

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

L'instance avec l'édition inférieure de SQL Server doit être créée et active avant d'utiliser ces outils.

N'oubliez pas que ces outils nécessitent plus d'efforts que la sauvegarde et la restauration natives ou qu'AWS DMS. Vous pouvez rencontrer plusieurs erreurs de cohérence ou d'intégrité des données qui doivent être corrigées. Ces erreurs se produisent lors du déplacement de données à l'aide de ces outils. Testez minutieusement le processus dans un environnement de test avant de décider d'utiliser l'un de ces outils.

  • Assistant d'importation et d'exportation SQL Server : copiez et créez le schéma des bases de données et de l'objet de l'instance source sur l'instance cible. Utilisez ensuite cet assistant pour copier une ou plusieurs tables, vues ou requêtes d'une instance de base de données RDS for SQL Server vers un autre magasin de données. Pour plus d'informations, veuillez consulter la rubrique Assistant d'importation et d'exportation SQL Server.
  • Assistant de génération et de publication de scripts SQL Server et utilitaire bcp : utilisez l'assistant de génération et de publication de scripts SQL Server pour créer des scripts pour une base de données complète ou des objets sélectionnés. Vous pouvez exécuter ces scripts sur une instance de base de données SQL Server cible pour recréer les objets scriptés. Ensuite, utilisez l'utilitaire bcp pour exporter en masse 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. Pour plus d'informations, veuillez consulter Assistant de génération et de publication de scripts SQL Server et utilitaire bcp.

Remarque : toutes les options mentionnées dans cette section peuvent également être utilisées pour migrer des bases de données d'une édition inférieure vers une édition supérieure de RDS for SQL Server. Toutefois, l'approche expliquée dans la section Mettre à niveau l'édition SQL Server est plus simple. Le choix de l'option à utiliser dépend de facteurs tels que les temps d'arrêt, les efforts, la complexité impliquée, etc.

Renommer l'instance RDS

Les options décrites pour la mise à niveau ou la rétrogradation de l'édition RDS for SQL Server entraînent toujours la création d'une instance RDS cible. La nouvelle instance RDS possède un point de terminaison DNS RDS différent de celui de l'instance RDS source existante.

Parfois, la mise à jour du nouveau point de terminaison RDS dans des applications et d'autres services ne permet pas de mettre à jour la chaîne de connexion dans un ou plusieurs de ces composants. Dans ce cas, vous pouvez rencontrer des problèmes après le changement d'édition de l'instance RDS for SQL Server.

Pour éviter cela, pensez à renommer les instances RDS source et cible. Le changement de nom permet de s'assurer que l'instance d'édition cible possède le même point de terminaison DNS RDS que celui de l'instance d'édition source d'origine.

Cela permet d'éviter de modifier les chaînes de connexion des applications ou des services dépendants après le changement d'édition sur l'instance RDS for SQL Server.

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

Cet exemple suppose que l'instance RDS source est rds-original avec l'édition Enterprise. L'instance cible est rds-new avec l'édition Standard.

1.    Arrêtez tout trafic entrant (arrêt de l'application) vers l'instance source rds-original.

2.    Suivez l'une des étapes ou options précédentes pour mettre à niveau ou rétrograder l'édition SQL Server sur l'instance RDS. Une fois que l'édition a été modifiée avec succès, il existe deux instances : l'instance source est rds-original et l'instance cible est rds-new.

3.    Modifiez l'instance source pour renommer l'identifiant de base de données depuis rds-original en lui donnant un autre nom, tel que rds-original-old.

4.    Une fois que l'instance rds-original-old est à l'état Disponible, renommez l'identifiant de base de données de l'instance cible de rds-new par le nom de l'instance d'origine rds-original.

5.    Vérifiez que les instances sont renommées en rds-original-old et rds-original et qu'elles sont à l'état Disponible.

6.    Veillez à ce que les groupes de sécurité RDS rattachés à l'instance RDS cible de la nouvelle édition soient identiques à ceux de l'instance source. Cela garantit que la connectivité réseau des applications existantes reste la même.

7.    Autorisez le trafic entrant (démarrez l'application) dès maintenant vers l'instance rds-original qui possède l'édition SQL Server requise. Aucune modification n'est requise pour les chaînes de connexion de l'application, car RDS possède le même point de terminaison DNS que l'instance source.

8.    Effectuez les tests de l'application pour vous assurer qu'il n'y a aucun impact après le changement d'édition de l'instance RDS.

9.    Si tout fonctionne, créez un instantané final de l'instance rds-original-old, puis supprimez cette instance pour réduire les coûts.

Remarque : il est recommandé de tester les activités d'abord dans un environnement inférieur avant de les mettre en œuvre dans l'environnement de production. Cela vous donne une estimation du temps que prennent les modifications. Vous pouvez également identifier les problèmes survenant au cours de l'activité afin de faciliter la mise en œuvre dans l'environnement de production.


Informations connexes

Recommandations AWS - Évaluation de la rétrogradation de Microsoft SQL Server de l'édition Enterprise vers l'édition Standard sur AWS