Amazon Relational Database Service
Guide de l'utilisateur

Importation et exportation de bases de données SQL Server

Amazon RDS prend en charge les sauvegarde et restauration natives pour les bases de données Microsoft SQL Server à l'aide de fichiers de sauvegarde complète (fichiers .bak). Lorsque vous utilisez RDS, vous accédez aux fichiers stockés dans Amazon S3 au lieu d'utiliser le système de fichiers local sur le serveur de base de données.

Par exemple, vous pouvez créer une sauvegarde complète depuis votre serveur local, la stocker sur S3, puis la restaurer sur une instance de base de données Amazon RDS existante. Vous pouvez également créer des sauvegardes à partir de RDS, les stocker sur S3, puis les restaurer chaque fois que vous le souhaitez.

La sauvegarde et la restauration natives sont disponibles dans toutes les régions AWS et pour les instances de base de données mono-AZ et multi-AZ. Les sauvegarde et restauration natives sont disponibles pour toutes les éditions de Microsoft SQL Server prises en charge sur Amazon RDS.

Le schéma suivant illustre les scénarios pris en charge.


			Architecture de sauvegarde et restauration natives

L'utilisation de fichiers .bak natifs pour sauvegarder et restaurer des bases de données est généralement le moyen le plus rapide de sauvegarder et de restaurer des bases de données. Il existe de nombreux avantages supplémentaires à l'utilisation des sauvegarde et restauration natives. Par exemple, vous pouvez effectuer les opérations suivantes :

  • Migrer des bases de données vers ou depuis Amazon RDS.

  • Déplacer des bases de données entre des instances de base de données RDS SQL Server.

  • Migrer des données, des schémas, des procédures stockées, des déclencheurs et tout autre code de base de données dans des fichiers .bak.

  • Sauvegarder et restaurer des bases de données uniques, au lieu de la totalité d'instances de base de données.

  • Créer des copies de bases de données à des fins de développement, de test, de formation et de démonstration.

  • Stocker et transférer des fichiers de sauvegarde avec Amazon S3, pour offrir une couche de protection supplémentaire pour la reprise après sinistre.

Limitations et recommandations

Voici quelques limitations quant à l'utilisation des sauvegarde et restauration natives :

  • Vous ne pouvez effectuer une sauvegarde vers, ou une restauration depuis, un compartiment Amazon S3 dans une autre région AWS que celle de votre instance de base de données Amazon RDS.

  • Nous vous recommandons vivement de ne pas restaurer de fichiers de sauvegarde d'un fuseau horaire dans un autre fuseau horaire. Si vous restaurez un fichier de sauvegarde d'un fuseau horaire dans un autre fuseau horaire, vous devez auditer vos requêtes et vos applications afin de déterminer les effets du changement de fuseau horaire.

  • Les sauvegardes natives de bases de données dépassant 1 To ne sont pas prises en charge.

  • Vous pouvez restaurer à partir de plus de 10 fichiers de sauvegarde simultanément.

  • Vous pouvez exécuter jusqu'à deux tâches de sauvegarde ou restauration simultanément.

  • RDS prend en charge les restaurations natives des bases de données allant jusqu'à 16 To. La restauration de bases de données sur SQL-Server Express est limitée par l'édition de MSSQL à un maximum 10 Go.

  • Vous ne pouvez pas sauvegarder une base de données pendant la fenêtre de maintenance, ou à tout moment où Amazon RDS prend un instantané de la base de données.

  • Sur des instances de base de données multi-AZ, vous pouvez uniquement restaurer nativement des bases de données sauvegardées en utilisant le modèle de restauration « Full ».

  • La restauration à partir de sauvegardes différentielles sur instances multi-AZ n'est pas prise en charge.

  • L'appel des procédures RDS pour la sauvegarde/restauration au sein d'une transaction n'est pas pris en charge.

  • Les fichiers de sauvegarde sont chiffrés avec la clé AWS KMS spécifiée à l'aide du mode cryptographique « Chiffrement seul ». Lorsque vous restaurez des fichiers de sauvegarde chiffrés, gardez à l'esprit qu'ils ont été chiffrés à l'aide du mode cryptographique « Chiffrement seul ».

  • Vous ne pouvez pas restaurer une base de données contenant un groupe de fichiers FILESTREAM.

Nous vous recommandons d'utiliser les sauvegarde et restauration natives pour migrer votre base de données vers RDS si votre base de données peut être hors connexion pendant que le fichier de sauvegarde est créé, copié et restauré. Si votre base de données sur site ne peut pas être hors connexion, nous vous recommandons d'utiliser AWS Database Migration Service pour migrer votre base de données vers Amazon RDS. Pour de plus amples informations, veuillez consulter Qu'est-ce qu'AWS Database Migration Service ?

Les sauvegarde et restauration natives ne visent pas à remplacer les fonctionnalités de récupération des données de la fonction de copie d'instantané entre régions. Nous vous recommandons d'utiliser une copie d'instantané pour copier l'instantané de votre base de données vers une autre région AWS pour la reprise après sinistre entre régions dans Amazon RDS. Pour plus d'informations, consultez Copie d'un instantané.

Configuration pour les sauvegarde et restauration natives

Pour configurer la sauvegarde et la restauration natives, vous avez besoin de trois composants :

  1. Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde.

    Vous devez disposer d'un compartiment S3 pour vos fichiers de sauvegarde et charger les sauvegardes que vous souhaitez migrer vers RDS. Si vous avez déjà un compartiment Amazon S3, vous pouvez l'utiliser. Si vous n'en avez pas, vous pouvez en créer un. Sinon, vous pouvez choisir d'avoir un compartiment créé pour vous quand vous ajoutez l'option SQLSERVER_BACKUP_RESTORE à l'aide de AWS Management Console.

    Pour de plus amples informations sur l'utilisation de S3, veuillez consulter le Amazon Simple Storage Service Guide de mise en route pour une présentation succincte. Pour plus de détails, veuillez consulter Amazon Simple Storage Service Guide de l'utilisateur de la console.

  2. Un rôle AWS Identity and Access Management (IAM) pour accéder au compartiment.

    Si vous avez déjà un rôle IAM, vous pouvez l'utiliser. Si vous n'avez pas de rôle IAM, vous pouvez en créer manuellement un nouveau. Sinon, vous pouvez choisir d'avoir un nouveau rôle IAM créé pour vous quand vous ajoutez l'option SQLSERVER_BACKUP_RESTORE à l'aide de AWS Management Console.

    Si vous souhaitez créer un nouveau rôle IAM manuellement, optez pour l'approche abordée à la section suivante. De plus, si vous souhaitez attacher des stratégies d'approbation et d'autorisations à un rôle IAM existant, optez pour l'approche abordée à la section suivante.

  3. L'option SQLSERVER_BACKUP_RESTORE ajoutée à un groupe d'options sur votre instance de base de données.

    Pour activer les sauvegarde et restauration natives sur votre instance de base de données, vous ajoutez l'option SQLSERVER_BACKUP_RESTORE à un groupe d'options sur votre instance de base de données. Pour plus d'informations et des instructions, consultez Prise en charge des sauvegarde et restauration natives dans SQL Server.

Création manuelle d'un rôle IAM pour les sauvegarde et restauration natives

Si vous souhaitez créer manuellement un rôle IAM à utiliser avec une sauvegarde native et à restaurer, vous pouvez le faire. Dans ce cas, vous créez un rôle pour déléguer des autorisations depuis le service Amazon RDS vers votre compartiment Amazon S3. Lorsque vous créez un rôle IAM, vous attachez des stratégies d'approbation et d'autorisation. La stratégie d'approbation permet à RDS d'assumer ce rôle. La stratégie d'autorisation définit les actions que ce rôle peut exécuter. Pour plus d'informations sur la création d'un rôle, consultez Création d'un rôle pour déléguer des autorisations à un service AWS.

Pour la fonction de sauvegarde et restauration native, utilisez des stratégies d'approbation et d'autorisation similaires aux exemples de cette section. Dans l'exemple suivant, nous utilisons le nom principal de service rds.amazon.aws.com comme alias de tous les comptes de service. Dans les autres exemples, nous spécifions un ARN (Amazon Resource Name) pour identifier un autre compte, utilisateur ou rôle auquel nous accordons l'accès dans la stratégie d'approbation.

Exemple Stratégie d'approbation pour les sauvegarde et restauration natives

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "rds.amazonaws.com"}, "Action": "sts:AssumeRole" }] }

L'exemple suivant utilise un ARN pour spécifier une ressource. Pour plus d'informations sur l'utilisation des ARN, consultez la section Noms ARN (Amazon Resource Name).

Exemple Stratégie d'autorisation pour les sauvegarde et restauration natives sans prise en charge du chiffrement

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::bucket_name" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::bucket_name/*" } ] }

Exemple Stratégie d'autorisation pour les sauvegarde et restauration natives avec prise en charge du chiffrement

Si vous souhaitez chiffrer vos fichiers de sauvegarde, incluez une clé de chiffrement dans votre stratégie d'autorisation. Pour de plus amples informations sur les clés de chiffrement, veuillez consulter la section de Démarrez dans le AWS Key Management Service Developer Guide.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::bucket_name" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::bucket_name/*" } ] }

Utilisation des sauvegarde et restauration natives

Une fois que vous avez activé et configuré les sauvegarde et restauration natives, vous pouvez commencer à les utiliser. Tout d'abord, vous vous connectez à votre base de données Microsoft SQL Server, puis vous appelez une procédure stockée Amazon RDS pour faire le travail. Pour plus d'informations sur la connexion à votre base de données, consultez Connexion à une instance de base de données exécutant le moteur de base de données Microsoft SQL Server.

Certaines procédures stockées nécessitent que vous fournissiez un Amazon Resource Name (ARN) à votre compartiment et votre fichier Amazon S3. Le format de votre ARN est arn:aws:s3:::bucket_name/file_name.extension. Amazon S3 n'a pas besoin d'un numéro de compte ou d'une région AWS dans les ARN. Si vous fournissez également une clé de chiffrement AWS KMS facultative, le format de votre ARN est arn:aws:kms:region:account-id:key/key-id. Pour plus d'informations, consultez Amazon Resource Name (ARN) et espaces de noms de service AWS.

Pour de plus amples informations sur la façon d'appeler chaque procédure stockée, veuillez consulter les rubriques suivantes :

Sauvegarde d'une base de données

Pour sauvegarder votre base de données, appelez la procédure stockée rds_backup_database.

Note

Vous ne pouvez pas sauvegarder une base de données pendant la fenêtre de maintenance ou lorsqu'Amazon RDS prend un instantané.

Utilisation

exec msdb.dbo.rds_backup_database @source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name.extension', [@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'], [@overwrite_s3_backup_file=0|1], [@type='DIFFERENTIAL|FULL'];

Les paramètres suivants sont obligatoires :

  • @source_db_name – Nom de la base de données à sauvegarder.

  • @s3_arn_to_backup_to – L'ARN indique le compartiment Amazon S3 à utiliser pour la sauvegarde, ainsi que le nom du fichier de sauvegarde.

    Le fichier peut avoir n'importe quelle extension mais .bak est généralement utilisée.

Les paramètres suivants sont facultatifs :

  • @kms_master_key_arn – L'ARN pour la clé principale du client KMS à utiliser pour chiffrer l'objet.

    Si vous ne précisez pas d'identifiant de clé KMS, alors Amazon RDS utilise la clé de chiffrement par défaut pour votre nouvelle instance de base de données. AWS KMS crée la clé de chiffrement par défaut pour votre compte AWS. Votre compte AWS a une clé de chiffrement par défaut différente pour chaque région AWS. Pour plus d'informations, consultez Chiffrer des ressources Amazon RDS.

  • @overwrite_s3_backup_file – Une valeur qui indique si un fichier de sauvegarde existant doit être écrasé.

    • 0 – N'écrase pas un fichier existant. Si ce paramètre est défini sur 0, une erreur est retournée si le fichier existe déjà. Cette valeur est celle par défaut.

    • 1 – Écrase le fichier existant qui possède déjà le nom spécifié, même s'il ne s'agit pas d'un fichier de sauvegarde.

  • @type – Le type de sauvegarde.

    • DIFFERENTIAL – Crée une sauvegarde différentielle.

    • FULL – Crée une sauvegarde complète. Cette valeur est celle par défaut.

Une sauvegarde différentielle est basée sur la dernière sauvegarde complète. Pour que les sauvegardes différentielles fonctionnent, vous ne pouvez prendre un instantané entre la dernière sauvegarde complète et la sauvegarde différentielle. Si vous souhaitez faire une sauvegarde différentielle, mais qu'il existe un instantané, alors créez une autre sauvegarde complète avant de créer la sauvegarde différentielle.

Exemples

Exemple de sauvegarde différentielle

exec msdb.dbo.rds_backup_database @source_db_name='mydatabase', @s3_arn_to_backup_to='arn:aws:s3:::aws_example_bucket/backup1.bak', @overwrite_s3_backup_file=1, @type='DIFFERENTIAL';

Exemple de sauvegarde complète avec chiffrement

exec msdb.dbo.rds_backup_database @source_db_name='mydatabase', @s3_arn_to_backup_to='arn:aws:s3:::aws_example_bucket/backup1.bak', @kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE', @overwrite_s3_backup_file=1, @type='FULL';

Vous pouvez rechercher la dernière sauvegarde complète ou le dernier instantané à l'aide de l'exemple SQL suivant :

select top 1 database_name , backup_start_date , backup_finish_date from msdb.dbo.backupset where database_name='mydatabase' and type = 'D' order by backup_start_date desc;

Restauration d'une base de données

Pour restaurer votre base de données, appelez la procédure stockée rds_restore_database. Amazon RDS crée un instantané initial de la base de données après la fin de la tâche de restauration et l'ouverture de la base de données.

Utilisation

exec msdb.dbo.rds_restore_database @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension', @with_norecovery=0|1, [@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'], [@type='DIFFERENTIAL|FULL'];

Les paramètres suivants sont obligatoires :

  • @restore_db_name – Nom de la base de données à restaurer.

  • @s3_arn_to_restore_from – L'ARN indique le préfixe Amazon S3 et les noms des fichiers de sauvegarde utilisés pour restaurer la base de données.

    • Pour une seule sauvegarde de fichier, fournissez la totalité du nom du fichier.

    • Pour une sauvegarde comportant plusieurs fichiers, fournissez le préfixe que les fichiers ont en commun, puis ajoutez un astérisque comme suffixe (*).

    Si @s3_arn_to_restore_from est vide, le message d'erreur suivant est renvoyé : Le préfixe de l'ARN ne peut pas être vide.

Le paramètre suivant est obligatoire pour les différentes restaurations, mais facultatifs pour les restaurations complètes :

  • @with_norecovery – La clause de restauration à utiliser pour l'opération de restauration.

    • Définissez le paramètre sur 0 pour restaurer avec RECOVERY (RESTAURATION). Dans ce cas, la base de données est en ligne après la restauration.

    • Définissez le paramètre sur 1 pour restaurer avec NORECOVERY (SANS RESTAURATION). Dans ce cas, la base de données reste à l'état RESTORING (EN COURS DE RESTAURATION) après la fin de la tâche de restauration. Grâce à cette approche, vous pouvez procéder à des restaurations différentielles ultérieurement.

    Pour les restaurations DIFFÉRENTIELLES, spécifiez 0 ou 1. Pour les restaurations FULL, cette valeur par défaut est 0.

Les paramètres suivants sont facultatifs :

  • @kms_master_key_arn – Si vous avez chiffré le fichier de sauvegarde, clé KMS à utiliser pour déchiffrer le fichier.

  • @type – Le type de restauration. Les types valides sont DIFFERENTIAL et FULL. La valeur par défaut est FULL.

Note

Pour les restaurations différentielles, la base de données doit se trouver en état RESTORING (EN COURS DE RESTAURATION) ou une tâche de restauration doit déjà exister avec NORECOVERY (SANS RESTAURATION).

Vous ne pouvez pas restaurer ultérieurement des sauvegardes différentielles tant que la base de données est en ligne.

Vous ne pouvez pas envoyer de tâche de restauration pour une base de données qui possède déjà une tâche de restauration en attente avec RECOVERY (RESTAURATION).

Les restaurations complètes avec NORECOVERY (SANS RESTAURATION) et les restaurations différentielles ne sont pas prises en charge sur les instances multi-AZ.

Exemples

Exemple de restauration d'un seul fichier

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak';

Exemple de restauration de plusieurs fichiers

Pour éviter les erreurs lors de la restauration de plusieurs fichiers, assurez-vous que tous les fichiers de sauvegarde ont le même préfixe et qu'aucun autre fichier n'utilise ce préfixe.

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup*';

Exemple de restauration de base de données complète avec RECOVERY (RESTAURATION)

Les trois exemples suivants exécutent la même tâche de restauration complète avec RECOVERY (RESTAURATION).

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak';
exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @type='FULL';
exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @type='FULL', @with_norecovery=0;

Exemple de restauration de base de données complète avec chiffrement

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';

Exemple de restauration de base de données complète avec NORECOVERY (SANS RESTAURATION)

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @type='FULL', @with_norecovery=1;

Exemple de restauration différentielle avec NORECOVERY (SANS RESTAURATION)

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @type='DIFFERENTIAL', @with_norecovery=1;

Exemple de restauration différentielle avec RECOVERY (RESTAURATION).

exec msdb.dbo.rds_restore_database @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/backup1.bak', @type='DIFFERENTIAL', @with_norecovery=0;

Restauration d'un journal

Pour restaurer votre journal, appelez la procédure stockée rds_restore_log.

Utilisation

exec msdb.dbo.rds_restore_log @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/log_file_name.extension', [@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'], [@with_norecovery=0|1], [@stopat='datetime'];

Les paramètres suivants sont obligatoires :

  • @restore_db_name – Le nom de la base de données dont vous souhaitez restaurer le journal.

  • @s3_arn_to_restore_from – L'ARN indique le préfixe Amazon S3 et le nom du fichier journal utilisé pour restaurer le journal. Le fichier peut avoir n'importe quelle extension mais .trn est généralement utilisée.

    Si @s3_arn_to_restore_from est vide, le message d'erreur suivant est renvoyé : Le préfixe de l'ARN ne peut pas être vide.

Les paramètres suivants sont facultatifs :

  • @kms_master_key_arn – Si vous avez chiffré le journal, clé KMS à utiliser pour déchiffrer le journal.

  • @with_norecovery – La clause de restauration à utiliser pour l'opération de restauration. La valeur par défaut est 1.

    • Définissez le paramètre sur 0 pour restaurer avec RECOVERY (RESTAURATION). Dans ce cas, la base de données est en ligne après la restauration. Vous ne pouvez pas restaurer ultérieurement des sauvegardes de journaux tant que la base de données est en ligne.

    • Définissez le paramètre sur 1 pour restaurer avec NORECOVERY (SANS RESTAURATION). Dans ce cas, la base de données reste à l'état RESTORING (EN COURS DE RESTAURATION) après la fin de la tâche de restauration. Grâce à cette approche, vous pouvez procéder à des restaurations de journaux ultérieurement.

  • @stopat – Une valeur qui spécifie que la base de données est restaurée dans son état à la date et l'heure spécifiées (au format datetime). Seul les enregistrements de journaux de transaction écrits avant la date et l'heure spécifiées sont appliqués à la base de données.

    Si ce paramètre n'est pas spécifié (il est NULL), le journal complet est restauré.

Note

Pour les restaurations de journaux, la base de données doit se trouver en état de restauration ou une tâche de restauration doit déjà exister avec NORECOVERY (SANS RESTAURATION).

Vous ne pouvez pas restaurer de sauvegardes de journaux tant que la base de données est en ligne.

Vous ne pouvez pas envoyer de tâche de restauration de journaux sur une base de données qui possède déjà une tâche de restauration en attente avec RECOVERY (RESTAURATION).

Les restaurations de journaux ne sont pas prises en charge sur les instances multi-AZ.

Exemples

Exemple de restaurations de journaux

exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn';

Exemple de restaurations de journaux avec chiffrement

exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn', @kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';

Exemple de restaurations de journaux avec NORECOVERY (SANS RESTAURATION)

Les trois exemples suivants exécutent la même tâche de restauration de journaux avec NORECOVERY (SANS RESTAURATION).

exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn', @with_norecovery=1;
exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn';

Exemple de restaurations de journaux avec RECOVERY (RESTAURATION)

exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn', @with_norecovery=0;

Exemple de restaurations de journaux avec clause STOPAT

exec msdb.dbo.rds_restore_log @restore_db_name='mydatabase', @s3_arn_to_restore_from='arn:aws:s3:::aws_example_bucket/mylog.trn', @with_norecovery=0, @stopat='2019-12-01 03:57:09';

Finalisation d'une restauration de base de données

Si la dernière tâche de restauration sur la base de données a été exécutée à l'aide de @with_norecovery=1, la base de données est désormais en état RECOVERY (RESTAURATION). Ouvrez cette base de données pour exécuter des opérations normales à l'aide de la procédure stockée rds_finish_restore.

Utilisation

exec msdb.dbo.rds_finish_restore @db_name='database_name';

Note

Pour utiliser cette approche, la base de données doit être en état RECOVERY (RESTAURATION) sans aucune tâche de restauration en attente.

La procédure rds_finish_restore n'est pas prise en charge sur les instances multi-AZ.

Pour finaliser la restauration de la base de données, utilisez l'identifiant principal. Ou utilisez l'identifiant utilisateur qui a permis de restaurer récemment la base de données ou de se connecter avec NORECOVERY (SANS RESTAURATION).

Utilisation de bases de données partiellement restaurées

Suppression d'une base de données partiellement restaurée

Pour supprimer une base de données partiellement restaurée (laissée en état RECOVERY (RESTAURATION), utilisez la procédure stockée rds_drop_database.

exec msdb.dbo.rds_drop_database @db_name='database_name';

Note

Vous ne pouvez pas envoyer de demande de base de données DROP (SUPPRIMER) pour une base de données qui possède déjà une tâche de restauration en attente ou de finalisation de restauration.

Pour supprimer la base de données, utilisez l'identifiant principal. Ou utilisez l'identifiant utilisateur qui a permis de restaurer récemment la base de données ou de se connecter avec NORECOVERY (SANS RESTAURATION).

Restauration d'instantané et comportement de restauration à un instant dans le passé pour les bases de données partiellement restaurées

Les bases de données partiellement restaurées dans l'instance source (laissée en état RECOVERY (RESTAURATION) sont supprimées de l'instance cible lors de la restauration d'instantané et la restauration à un instant dans le passé.

Annulation d'une tâche

Pour annuler une tâche de sauvegarde ou de restauration, appelez la procédure stockée rds_cancel_task.

Note

Vous ne pouvez pas annuler une tâche FINISH_RESTORE.

Utilisation

exec msdb.dbo.rds_cancel_task @task_id=ID_number;

Les paramètres suivants sont obligatoires :

  • @task_id – ID de la tâche à annuler. Vous pouvez obtenir l'ID de la tâche en appelant rds_task_status.

Suivi de l'état des tâches

Pour suivre l'état de vos tâches de sauvegarde et restauration, appelez la procédure stockée rds_task_status. Si vous ne fournissez pas de paramètre, la procédure stockée retourne l'état de toutes les tâches. Le statut des tâches est mis à jour environ toutes les deux minutes.

Utilisation

exec msdb.dbo.rds_task_status [@db_name='database_name'], [@task_id=ID_number];

Les paramètres suivants sont facultatifs :

  • @db_name – Nom de la base de données pour laquelle afficher l'état de la tâche.

  • @task_id – ID de la tâche pour laquelle afficher l'état de tâche.

Exemples

Exemple de liste des statuts d'une tâche spécifique

exec msdb.dbo.rds_task_status @task_id=5;

Exemple de liste des statuts d'une base de données et d'une tâche spécifiques

exec msdb.dbo.rds_task_status @db_name='my_database', @task_id=5;

Exemple de liste de toutes les tâches et de leurs statuts sur une base de données spécifique

exec msdb.dbo.rds_task_status @db_name='my_database';

Exemple de liste de toutes les tâches et de leurs statuts sur l'instance actuelle

exec msdb.dbo.rds_task_status;

Réponse

La procédure stockée rds_task_status renvoie les colonnes suivantes.

Colonne Description

task_id

ID de la tâche

task_type

Le type de tâche dépend des paramètres d'entrée, comme suit :

  • Pour les tâches de sauvegarde :

    • BACKUP_DB – Sauvegarde de base de données complète

    • BACKUP_DB_DIFFERENTIAL – Sauvegarde de base de données différentielle

  • Pour les tâches de restauration :

    • RESTORE_DB – Restauration de base de données complète avec RECOVERY (RESTAURATION)

    • RESTORE_DB_NORECOVERY – Restauration de base de données complète avec NORECOVERY (SANS RESTAURATION)

    • RESTORE_DB_DIFFERENTIAL – Restauration de base de données différentielle avec RECOVERY (RESTAURATION)

    • RESTORE_DB_DIFFERENTIAL_NORECOVERY – Restauration de base de données différentielle avec NORECOVERY (SANS RESTAURATION)

    • RESTORE_DB_LOG – Restauration de journaux avec RECOVERY (RESTAURATION)

    • RESTORE_DB_LOG_NORECOVERY – Restauration de journaux avec NORECOVERY (SANS RESTAURATION)

  • Pour les tâches qui finalisent une restauration :

    • FINISH_RESTORE – Finalisation de restauration et ouverture de base de données

Amazon RDS crée un instantané initial de la base de données après son ouverture à la fin des tâches de restauration suivantes :

  • RESTORE_DB

  • RESTORE_DB_DIFFERENTIAL

  • RESTORE_DB_LOG

  • FINISH_RESTORE

database_name

Nom de la base de données à laquelle est associée à la tâche.

% complete

La progression de la tâche sous forme de pourcentage.

duration (mins)

Temps consacré à la tâche, en minutes.

lifecycle

État de la tâche. Les statuts possibles sont les suivants :

  • CREATED – Dès que vous appelez rds_backup_database ou rds_restore_database, une tâche est créée et l'état est défini sur CREATED.

  • IN_PROGRESS – Après le démarrage d'une tâche de sauvegarde ou de restauration, l'état est défini sur IN_PROGRESS. Cela peut prendre jusqu'à 5 minutes pour que l'état change de CREATED à IN_PROGRESS.

  • SUCCESS – Après l'achèvement d'une tâche de sauvegarde ou de restauration, l'état est défini sur SUCCESS.

  • ERROR – En cas d'échec d'une tâche de sauvegarde ou de restauration, l'état est défini surERROR. Lisez la colonne task_info pour plus d'informations sur l'erreur.

  • CANCEL_REQUESTED – Dès que vous appelez rds_cancel_task, l'état de la tâche est défini sur CANCEL_REQUESTED.

  • CANCELLED – Une fois une tâche annulée avec succès, l'état de la tâche est défini sur CANCELLED.

task_info

Informations supplémentaires sur la tâche.

Si une erreur se produit lors de la sauvegarde ou de la restauration d'une base de données, cette colonne contient des informations sur l'erreur. Pour obtenir une liste des erreurs possibles et des stratégies d'atténuation, consultez Dépannage.

last_updated

Date et heure de la dernière mise à jour de l'état de la tâche. Le statut est mis à jour tous les 5 pour cent de progression.

created_at

Date et heure de création de la tâche.

S3_object_arn L'ARN indique le préfixe Amazon S3 et le nom du fichier en cours de sauvegarde ou de restauration.

overwrite_s3_backup_file

Valeur du paramètre @overwrite_s3_backup_file spécifié lorsque vous appelez une tâche de sauvegarde. Pour plus d'informations, consultez Sauvegarde d'une base de données.

KMS_master_key_arn L'ARN pour la clé principale du client KMS utilisé pour le chiffrement (pour la sauvegarde) et le déchiffrement (pour la restauration).
filepath Non applicable aux tâches de sauvegarde et de restauration natives
overwrite_file Non applicable aux tâches de sauvegarde et de restauration natives

Compression des fichiers de sauvegarde

Pour économiser de l'espace sur votre compartiment Amazon S3, vous pouvez compresser vos fichiers de sauvegarde. Pour plus d'informations sur la compression de fichiers de sauvegarde, consultez Backup Compression (Compression de sauvegarde) dans la documentation Microsoft.

La compression des fichiers sauvegardés est prise en charge pour les éditions de base de données suivantes :

  • Configurer SQL Server Enterprise Edition

  • Microsoft SQL Server Standard Edition

Pour activer la compression de vos fichiers sauvegardés, exécutez le code suivant :

exec rdsadmin..rds_set_configuration 'S3 backup compression', 'true';

Pour désactiver la compression de vos fichiers sauvegardés, exécutez le code suivant :

exec rdsadmin..rds_set_configuration 'S3 backup compression', 'false';

Dépannage

Voici les problèmes que vous risquez de rencontrer lorsque vous utilisez la sauvegarde et la restauration natives.

Problème Suggestions de dépannage

Access Denied

Le processus de sauvegarde ou de restauration ne parvient pas à accéder au fichier de sauvegarde. Cela est généralement provoqué par des problèmes tels que :

  • Référencement du compartiment incorrect. Référencement du compartiment avec un format incorrect. Référencement d'un nom de fichier sans utiliser l'ARN.

  • Autorisations incorrectes sur le fichier de compartiment. Par exemple, s'il a été créé par un compte différent qui essaie d'y accéder actuellement, ajoutez les autorisations correctes.

  • Une stratégie IAM incorrecte ou incomplète. Votre rôle IAM doit inclure tous les éléments nécessaires, y compris, par exemple, la version correcte. Ceux-ci sont mis en évidence dans Importation et exportation de bases de données SQL Server.

BACKUP DATABASE WITH COMPRESSION isn't supported on <edition_name> Edition

La compression des fichiers sauvegardés est uniquement prise en charge pour Microsoft SQL Server Enterprise Edition and Standard Edition.

Pour plus d'informations, consultez Compression des fichiers de sauvegarde.

Key <ARN> does not exist

Vous avez essayé de restaurer une sauvegarde chiffrée, mais n'avez pas fourni une clé de chiffrement valide. Vérifiez votre clé de chiffrement et réessayez.

Pour plus d'informations, consultez Restauration d'une base de données.

Please reissue task with correct type and overwrite property

Si vous essayez de sauvegarder votre base de données et fournissez le nom d'un fichier qui existe déjà, mais que la propriété de remplacement est définie sur false, l'opération de sauvegarde échoue. Pour corriger cette erreur, entrez le nom d'un fichier qui n'existe pas déjà ou définissez la propriété de remplacement sur true.

Pour plus d'informations, consultez Sauvegarde d'une base de données.

Il est également possible qu'en tentant de restaurer votre base de données, vous ayez accidentellement appelé la procédure stockée rds_backup_database. Dans ce cas, appelez la procédure stockée rds_restore_database à la place.

Pour plus d'informations, consultez Restauration d'une base de données.

Si vous aviez pour but de restaurer votre base de données et avez appelé la procédure stockée rds_restore_database, assurez-vous que vous avez fourni le nom d'un fichier de sauvegarde valide.

Pour plus d'informations, consultez Utilisation des sauvegarde et restauration natives.

Please specify a bucket that is in the same region as RDS instance

Vous ne pouvez effectuer une sauvegarde vers, ou une restauration depuis, un compartiment Amazon S3 dans une autre région AWS que celle de votre instance de base de données Amazon RDS. Utilisez la réplication d'Amazon S3 pour copier le fichier de sauvegarde vers la bonne région AWS.

Pour plus d'informations, consultez Réplication entre régions dans la documentation Amazon S3.

The specified bucket does not exist

Vérifiez que vous avez fourni l'ARN correct pour votre compartiment et le fichier, dans le bon format.

Pour plus d'informations, consultez Utilisation des sauvegarde et restauration natives.

User <ARN> is not authorized to perform <kms action> on resource <ARN>

Vous avez demandé à une opération chiffrée, mais n'avez pas fourni d'autorisations AWS KMS correctes. Vérifiez que vous avez les autorisations appropriées ou ajoutez-les.

Pour de plus amples informations, veuillez consulter Configuration pour les sauvegarde et restauration natives.

The Restore task is unable to restore from more than 10 backup file(s). Please reduce the number of files matched and try again. Réduisez le nombre de fichiers utilisés pour la restauration. Si nécessaire, vous pouvez augmenter la taille de chaque fichier.