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 apprendre à effectuer des sauvegardes natives de mes bases de données SQL Server sur Amazon RDS et à stocker les fichiers de sauvegarde dans Amazon S3. Je souhaite découvrir comment restaurer ces sauvegardes sur la même instance de base de données RDS ou sur une instance différente exécutant SQL Server.

Brève description

Vous pouvez stocker le fichier de sauvegarde dans Amazon Simple Storage Service (Amazon S3) grâce aux sauvegardes Amazon RDS. Vous pouvez également utiliser le fichier de sauvegarde de la base de données pour la restauration vers la même instance de base de données Amazon RDS for SQL Server ou une instance différente.

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. Pour plus d’informations, consultez Restore a backup sur le site Web de Microsoft.

Résolution

Avant de commencer la sauvegarde native, assurez-vous que vous disposez bien des deux composantes suivants :

Pour configurer une sauvegarde native de la base de données SQL Server, procédez comme suit :

  1. Ouvrez la console Amazon RDS, puis choisissez Groupes d’options dans le volet de navigation.
  2. Choisissez Créer un groupe, puis entrez le nom, la description, le moteur, et la version du moteur de votre serveur.
  3. Choisissez Créer.
  4. Sélectionnez le groupe d’options que vous avez créé, puis choisissez Ajouter une option.
  5. Choisissez SQLSERVER_BACKUP_RESTORE. Il est recommandé de créer un rôle IAM, puis de choisir Ajouter une option, afin que votre rôle IAM jouisse des privilèges requis.
  6. Choisissez le compartiment S3 ou créez-en un.
  7. Choisissez Appliquer immédiatement et Ajouter une option.
  8. Pour associer le groupe d’options à l’instance de base de données, choisissez Bases de données dans le volet de navigation, puis choisissez l’instance à sauvegarder.
  9. Choisissez Actions, puis Modifier.
  10. Dans Options de base de données, choisissez le groupe d’options que vous avez créé, puis choisissez Appliquer immédiatement et Continuer.
  11. 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.
  12. Attendez que le statut passe de Modification en cours à Disponible. Ensuite, pour vous connecter à l’instance de base de données via SQL Server Management Studio, utilisez l’utilisateur principal de votre instance RDS.
  13. Choisissez Nouvelle requête et saisissez ensuite 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. Utilisez 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 SUCCESS, 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 ensuite le fichier de sauvegarde. Pour restaurer l’instance de base de données, téléchargez ce fichier ou utilisez le fichier de sauvegarde de la base de données utilisateur. Vous pouvez 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 des 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 exécuté 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 Migrating Microsoft SQL Server Enterprise Workloads to Amazon RDS.

Informations connexes

Présentation des sauvegardes

Sauvegarde, restauration, et exportation de données

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