Comment effectuer des sauvegardes natives d'une instance de base de données Amazon RDS qui exécute SQL Server ?

Lecture de 5 minute(s)
0

Je souhaite effectuer une sauvegarde native de base de données utilisateur dans mon instance de base de données Amazon Relational Database Service (Amazon RDS) qui exécute SQL Server. Je dois stocker le fichier de sauvegarde de base de données dans Amazon Simple Storage Service (Amazon S3) ou l’utiliser pour restaurer la même instance de base de données Amazon RDS for SQL Server ou une autre instance.

Brève description

Amazon RDS permet la sauvegarde et la restauration natives des bases de données Microsoft SQL Server. Vous pouvez créer une sauvegarde complète de votre base de données sur site et stocker le fichier dans Amazon S3. Vous pouvez ensuite restaurer le fichier de sauvegarde sur une instance de base de données Amazon RDS existante qui exécute SQL Server. Vous pouvez également restaurer ce fichier de sauvegarde sur un serveur sur site ou sur une autre instance de base de données Amazon RDS qui exécute SQL Server.

Résolution

Pour configurer une sauvegarde native de base de données SQL Server, vous avez besoin des composants suivants :

  1. Ouvrez la console Amazon RDS, puis choisissez Groupes d’options dans le volet de navigation. Choisissez Créer un groupe, puis entrez le nom, la description, le moteur et la version du moteur de votre serveur. Choisissez ensuite Créer.
  2. Sélectionnez le groupe d'options que vous avez créé, puis choisissez Ajouter une option. Choisissez SQLSERVER_BACKUP_RESTORE. Il est recommandé de créer un rôle IAM, puis de choisir Ajouter une option, afin que le rôle IAM dispose des privilèges requis. Choisissez le compartiment S3 ou créez-en un. Ensuite, choisissez Appliquer immédiatement et Ajouter une option.
  3. Associez le groupe d'options à l'instance de base de données en choisissant Bases de données dans le volet de navigation, puis choisissez l'instance à sauvegarder. Choisissez Actions, puis Modifier.
  4. Dans Options de base de données, choisissez le groupe d'options que vous avez créé, puis choisissez Appliquer immédiatement et Continuer. Passez en revue les informations, puis choisissez Modifier l'instance de base de données. Cette modification du groupe d'options n'entraîne pas de temps d'arrêt, car le redémarrage de l'instance n'est pas nécessaire.
  5. Lorsque le statut passe de modification à disponible, connectez-vous à l'instance de base de données via SQL Server Management Studio en utilisant l'utilisateur principal de l’instance RDS. Choisissez ensuite Nouvelle requête et entrez l'une des instructions SQL suivantes pour lancer la sauvegarde de la base de données souhaitée :

Lancer la sauvegarde des bases de données non chiffrées

exec msdb.dbo.rds_backup_database
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@overwrite_S3_backup_file=1;

Lancer la sauvegarde des bases de données chiffrées

exec msdb.dbo.rds_backup_database
@source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;

Remarque : dans ces exemples, remplacez database_name, bucket_name, file_name_and_extension, region, account-id et key-id par les valeurs correspondant à votre scénario. Vous pouvez utiliser le fichier de sauvegarde, généré dans le compartiment S3, pour restaurer la base de données utilisateur sur une nouvelle instance de base de données RDS. Lorsque la procédure stockée rds_backup_database ou rds_restore_database est appelée, la tâche démarre et affiche les informations associées.

Lorsque le cycle de vie de la tâche passe à l’état SUCCÈS, la tâche est terminée. Vous pouvez alors ouvrir la console Amazon S3, choisir le compartiment dans lequel vous avez créé la sauvegarde de la base de données utilisateur et afficher le fichier de sauvegarde. Vous pouvez télécharger ce fichier ou utiliser le fichier de sauvegarde de la base de données utilisateur pour restaurer la même instance de base de données Amazon RDS for SQL Server ou une nouvelle instance de base de données RDS.

Utilisez l'une des instructions SQL suivantes pour restaurer la base de données à partir du fichier de sauvegarde disponible dans le compartiment S3 :

Restaurer des bases de données non chiffrées

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

Restaurer de bases de données chiffrées

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

Vous pouvez obtenir l'ID de tâche après avoir effectué l'instruction de sauvegarde ou de restauration. Vous pouvez également utiliser le script suivant pour identifier toutes les tâches terminées et en attente pour une base de données donnée :

exec msdb.dbo.rds_task_status @db_name='database_name'

Pour suivre l'état de la tâche, utilisez cette instruction SQL :

exec msdb..rds_task_status @task_id= 5

Pour obtenir la liste des erreurs potentielles et des solutions, consultez la page Migration des charges de travail Microsoft SQL Server Enterprise vers Amazon RDS.


Informations connexes

Utilisation des sauvegardes

Sauvegarde et restauration d'instances de bases de données Amazon RDS

Importation et exportation de bases de données SQL Server à l'aide de la sauvegarde et de la restauration natives