Restaurer une base de données d'Azure SQL Managed Instance à un point antérieur dans le temps

S’applique à : Azure SQL Managed Instance

Vous pouvez utiliser la restauration à un instant dans le passé pour créer une base de données qui est une copie d’une base de données à un point spécifique et antérieur dans le temps. Cet article explique comment effectuer une limite de restauration dans le temps d'une base de données Azure SQL Managed Instance.

Remarque

Créer ou mettre à jour v02.01.2022 a été déprécié. À compter de janvier 2023, utilisez l’appel d’API Créer ou mettre à jour v5.0.2022 de remplacement pour toutes les opérations de restauration de base de données.

Vue d’ensemble

La restauration à un instant dans le passé est utile dans les scénarios de récupération, comme dans le cas d’un incident provoqué par une erreur ou une défaillance, d’un chargement incorrect des données ou d’une suppression de données cruciales. Vous pouvez également l’utiliser simplement pour tester et auditer le déploiement de votre base de données. Les fichiers de sauvegarde Azure sont conservés pendant une période comprise entre 7 et 35 jours en fonction des paramètres de votre base de données.

Vous pouvez utiliser la restauration à un instant dans le passé pour restaurer une base de données dans les scénarios suivants :

  • à partir d’une base de données existante ;
  • À partir d’une base de données supprimée
  • Vers la même instance managée ou vers une instance managée différente
  • Vers une instance managée dans le même abonnement ou vers une instance managée dans un abonnement différent

Le tableau suivant présente les scénarios de limite de restauration dans le temps pour SQL Managed Instance :

Scénario Portail Azure Azure CLI PowerShell
Restaurer une base de données existante vers la même instance managée Oui Oui Oui
Restaurer une base de données existante vers une instance managée différente Oui Oui Oui
Restaurer une base de données supprimée vers la même instance managée Oui Oui Oui
Restaurer une base de données supprimée vers une instance managée différente Oui Oui Oui
Restaurer une base de données existante vers une instance managée dans un autre abonnement Oui Oui Oui
Restaurer une base de données supprimée vers une instance managée dans un autre abonnement Oui Oui Oui

Autorisations

Pour récupérer une base de données, vous devez :

  • un membre du rôle Contributeur SQL Server ou Contributeur SQL Managed Instance (selon la destination de la récupération) dans l’abonnement ;
  • le propriétaire de l’abonnement.

Pour restaurer la base de données dans un autre abonnement cible, si vous n’êtes pas dans le rôle Contributeur SQL Managed Instance, vous devez également disposer des autorisations suivantes :

  • Microsoft.Sql/managedInstances/databases/readBackups/action sur l’instance managée SQL source.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action sur l’instance managée SQL cible.

Pour plus d’informations, consultez Azure RBAC : pour les ressources Azure.

Limites

Ces limitations s’appliquent à la restauration à un instant dans le passé dans SQL Managed Instance :

  • Vous ne pouvez pas utiliser la restauration à un instant dans le passé pour récupérer l’intégralité d’un déploiement SQL Managed Instance. Utilisez la restauration à un instant dans le passé uniquement pour effectuer une copie d’une base de données hébergée sur SQL Managed Instance.

  • Les limitations de la restauration à un instant dans le passé varient selon que vous restaurez votre base de données vers une instance managée dans le même abonnement ou vers une instance managée dans un abonnement différent.

  • Quand des stratégies de point de terminaison de service sont activées sur Azure SQL Managed Instance, le fait de placer une stratégie de point de terminaison de service sur un sous-réseau empêche les restaurations à un instant dans le passé à partir d’instances situées dans différents sous-réseaux.

Avertissement

Tenez compte de la taille de stockage de votre instance gérée. Selon la taille des données à restaurer, vous risquez de manquer de stockage pour votre instance managée. Si vous n’avez pas suffisamment d’espace de stockage dans votre instance managée pour les données restaurées, utilisez une approche différente.

Restaurer vers le même abonnement

Si vous effectuez une restauration d’une instance managée vers une autre dans le même abonnement Azure, les deux instances managées doivent se trouver dans la même région. La restauration interrégionale n’est pas prise en charge.

Restaurer à un autre emplacement

La restauration d’une sauvegarde entre abonnements avec restauration à un instant dans le passé présente les limitations suivantes :

  • Les deux abonnements doivent se trouver dans la même région.
  • Les deux abonnements doivent se trouver dans le même locataire.
  • Le type d’abonnement doit être Contrat Entreprise, Fournisseur de solutions cloud, Partenaire certifié Microsoft ou paiement à l’utilisation.
  • Vous pouvez utiliser l’action de restauration uniquement sur l’instance principale.
  • Vous pouvez uniquement restaurer une sauvegarde à partir de la région primaire. La restauration d’une base de données à partir de la région secondaire géorépliquée n’est pas prise en charge pour la restauration à un instant dans le passé inter-abonnement.
  • L'utilisateur qui effectue l'action de restauration doit avoir l'attribution de rôle Collaborateur SQL Managed Instance ou disposer des autorisations explicites suivantes :
    • Microsoft.Sql/managedInstances/databases/readBackups/action sur l’instance managée SQL source.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action sur l’instance managée SQL cible.
  • Si vous apportez votre propre clé (BYOK), celle-ci doit être présente dans les deux abonnements.

Restaurer une base de données existante

Vous pouvez restaurer une base de données existante dans le même abonnement en utilisant le portail Azure, PowerShell ou Azure CLI. Si vous effectuez la restauration vers une instance différente dans le même abonnement en utilisant PowerShell ou Azure CLI, veillez à spécifier les propriétés de la ressource SQL Managed Instance cible. La base de données est restaurée vers la même instance par défaut.

Si vous effectuez la restauration vers un abonnement différent, l’appel d’API Créer ou mettre à jour v5.0.2022 qui est sous-jacent à l’action de restauration doit contenir restorePointInTime, crossSubscriptionTargetManagedInstanceId et crossSubscriptionSourceDatabaseId ou crossSubscriptionRestorableDroppedDatabaseId.

Pour restaurer une base de données existante, vous pouvez effectuer cette opération en accédant à la page de la base de données dans le portail Azure, puis en sélectionnant Restaurer.

Vous pouvez également restaurer votre base de données en procédant comme suit :

  1. Connectez-vous au portail Azure.

  2. Accédez à l’instance cible SQL Managed Instance vers laquelle vous prévoyez de restaurer votre base de données.

  3. Dans la page Vue d’ensemble, choisissez + Nouvelle base de données pour ouvrir la page Créer une base de données managée Azure SQL.

    Capture d’écran montrant le volet de la vue d’ensemble de SQL Managed Instance dans le portail Azure avec l’option Ajouter une base de données sélectionnée.

  4. Sous l’onglet Informations de base de la page Créer une base de données managée Azure SQL, fournissez les informations sur l’abonnement et le groupe de ressources sous Détails du projet. Ensuite, sous Détails de la base de données, indiquez le nouveau nom de la base de données que vous prévoyez de restaurer. Vérifiez que l’instance gérée correcte est répertoriée dans la liste déroulante. Sélectionnez ensuite Suivant : source de données >

    Capture d’écran du portail Azure montrant l’onglet Informations de base de la page Créer une base de données managée Azure SQL.

  5. Sous l’onglet Source de données, choisissez Restauration à un instant dans le passé sous Utiliser des données existantes. Indiquez l’abonnement, le groupe de ressources et l’instance gérée contenant la base de données source. Dans la liste déroulante Base de données managée, choisissez la base de données que vous souhaitez restaurer, puis choisissez l’instant dans le passé pour la restauration. L’instance source et l’instance cible peuvent être identiques ou deux instances différentes. Sélectionnez Suivant : paramètres supplémentaires >

    Capture d’écran du portail Azure qui montre l’onglet source de données de la page Créer une base de données managée Azure SQL, avec la restauration à un instant dans le passé sélectionnée.

  6. Sous l’onglet Paramètres supplémentaires, vous pouvez cocher la case pour hériter de la stratégie de rétention de la base de données source. Vous pouvez également sélectionner Configurer la rétention pour ouvrir la page Configurer les stratégies et définir les stratégies de rétention souhaitées pour votre base de données restaurée. Quand vous avez terminé, sélectionnez Vérifier + créer.

    Capture d’écran du portail Azure montrant l’onglet Paramètres supplémentaires de la page Créer une base de données managée Azure SQL.

  7. Dans Vérifier + créer, quand la validation réussit, sélectionnez Créer pour restaurer votre base de données.

Cette action démarre le processus de restauration qui crée une nouvelle base de données et est rempli avec les données de la base de données d’origine au point spécifié dans le temps. Pour plus d’informations sur le processus de récupération, consultez Heure de récupération.

Restaurer une base de données supprimée

Vous pouvez restaurer une base de données supprimée en utilisant le portail Azure, Azure PowerShell ou Azure CLI.

Pour restaurer une base de données managée supprimée en utilisant le portail Azure :

  1. Dans le portail Azure, accédez à votre instance managée source.

  2. Dans le menu de gauche, sous Gestion des données, sélectionnez Sauvegardes.

  3. Sous Afficher les bases de données, sélectionnez Supprimées.

  4. Pour la base de données à restaurer, sélectionnez Restaurer.

    Capture d’écran montrant les bases de données disponibles dans le portail, avec mise en évidence du bouton Restaurer permettant de restaurer une base de données supprimée.

  5. Dans Créer une base de données managée Azure SQL, entrez ou sélectionnez les détails de l’instance managée cible vers laquelle restaurer votre base de données. Sélectionnez l’onglet Source de données.

  6. Dans Source de données, entrez ou sélectionnez les détails de votre base de données source. Sélectionnez l’onglet Paramètres supplémentaires.

  7. Dans Paramètres supplémentaires, configurez les paramètres de conservation. Sélectionnez l’onglet Vérifier + créer.

  8. Dans Vérifier + créer, sélectionnez Créer pour restaurer votre base de données supprimée.

Remplacer une base de données existante

Pour remplacer une base de données existante, vous devez effectuer les opérations suivantes :

  1. Supprimez la base de données d’origine que vous souhaitez remplacer.
  2. Renommez la base de données restaurée à partir du point dans le temps par le nom de la base de données que vous avez supprimée.

Déposer la base de données d’origine

Vous pouvez déposer une base de données à l’aide du portail Azure, de PowerShell ou de Azure CLI.

Une autre option pour supprimer la base de données consiste à se connecter à votre instance managée directement dans SQL Server Management Studio (SSMS), puis à utiliser la commande Transact-SQL (T-SQL) DROP :

DROP DATABASE WorldWideImporters;

Utilisez l’une des méthodes suivantes pour vous connecter à la base de données dans votre instance managée :

  1. Dans le portail Azure, sélectionnez la base de données dans votre instance managée.

  2. Dans la barre de commandes, sélectionnez Supprimer.

    Capture d’écran montrant comment supprimer une base de données en utilisant le portail Azure.

Changer le nouveau nom de base de données pour qu’il corresponde au nom de la base de données d’origine

Utilisez SQL Server Management Studio (SSMS) pour vous connecter directement à votre instance managée. Ensuite, exécutez la requête T-SQL suivante. La requête remplace le nom de la base de données restaurée par celui de la base de données supprimée que vous envisagez de remplacer.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Utilisez l’une des méthodes suivantes pour vous connecter à la base de données dans votre instance managée :

Étapes suivantes

En savoir plus sur les sauvegardes automatisées.