Exercice - Récupérer des données en restaurant une base de données Azure SQL

Effectué

Les essais de restauration sont un composant clé de toute stratégie de reprise d’activité après sinistre.

Vous souhaitez vous familiariser avec les étapes permettant de restaurer une base de données sauvegardée à une date et heure spécifiques, au cas où cela serait nécessaire. Vous souhaitez également déterminer la durée d’une opération de restauration. Vous pourrez ainsi planifier cette période dans les indications que vous donnerez à votre organisation.

Procédons à une restauration à partir de sauvegardes automatisées Azure SQL Database.

Vérifier que les sauvegardes sont actives

La première sauvegarde réussie peut prendre jusqu’à 15 minutes. Nous devons vérifier que les sauvegardes sont en cours avant de poursuivre l’exercice.

  1. Dans Azure Cloud Shell, exécutez la commande PowerShell suivante pour régler une variable en fonction de la valeur de votre instance SQL Server :

    $sqlserver=Get-AzSqlServer
    
  2. Utilisez la commande suivante pour vérifier que les sauvegardes continues sont en cours d’exécution :

    Get-AzSqlDatabaseRestorePoint `
        -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
        -DatabaseName sql-erp-db `
        -ServerName $sqlserver.ServerName
    

    Vous devriez obtenir une sortie de ce type si vos sauvegardes sont en cours d’exécution. Si la commande ne retourne aucune valeur, cela signifie que la sauvegarde n’a pas encore démarré. Réexécutez cette commande dans quelques minutes.

    ResourceGroupName        : <rgn>[sandbox resource group name]</rgn>
    ServerName               : erpserver-53903
    DatabaseName             : sql-erp-db
    Location                 : East US
    RestorePointType         : CONTINUOUS
    RestorePointCreationDate :
    EarliestRestoreDate      : 9/24/19 4:21:21 PM
    RestorePointLabel        :
    

    RestorePointType est CONTINUOUS, ce qui indique que les sauvegardes s’effectuent automatiquement. EarliestRestoreDate indique l’horodatage de la première sauvegarde. Une fois les sauvegardes en place, nous pouvons poursuivre l’exercice.

Supprimer une table de la base de données

Commençons par simuler une erreur de modification de la base de données.

  1. Dans le menu du Portail Azure ou sur la page Accueil, sélectionnez Toutes les ressources, puis erpserver-NNNN, Bases de données SQL et enfin sql-erp-db.

  2. Sélectionnez Éditeur de requête (préversion), puis connectez-vous en tant qu’utilisateur dbadmin à l’aide du mot de passe spécifié pour ce compte.

  3. Supprimons la table Person que nous avons créée. Dans une nouvelle fenêtre de requête, exécutez cette commande.

    DROP TABLE Person
    
  4. Pour vérifier les tables de la base de données, sélectionnez Nouvelle requête. Ensuite, dans la fenêtre Requête 2, exécutez cette commande pour lister toutes les tables de la base de données :

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    Le message Aucun résultat doit être retourné, car nous avons supprimé la table Person.

    Capture d’écran montrant l’absence de résultats après l’interrogation des tables de la base de données.

Exécuter une restauration dans le temps

La table Person a été supprimée par erreur. Restaurons à présent la base de données à son état précédent.

  1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Toutes les ressources, puis sélectionnez la base de données sql-erp-db.

  2. En haut de la page Vue d’ensemble, sélectionnez Restaurer.

  3. Renseignez ces valeurs dans l’onglet Informations de base de la page Restaurer la base de données, puis sélectionnez Vérifier + créer.

    Paramètre Valeur
    Sélectionner une source Limite dans le temps
    Nom de la base de données sql-erp-db-xxxxx
    Point de restauration Sélectionnez l’heure qu’il était 10 minutes auparavant, avant de supprimer la table Person
    Serveur erpserver-xxxxx
    Voulez-vous utiliser un pool élastique SQL ? Non
    Calcul + stockage Valeur par défaut
    Redondance du stockage de sauvegarde Stockage de sauvegarde redondant localement

    Capture d’écran montrant la page de restauration de base de données avec le bouton Vérifier + créer sélectionné.

  4. Sélectionnez Create (Créer). La restauration de la base de données prend plusieurs minutes.

Voir la base de données restaurée

La base de données restaurée doit contenir la table Person. Vous pouvez le vérifier dans le portail.

  1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Toutes les ressources, puis sélectionnez la base de données sql-erp-db-restored.

  2. Sélectionnez Éditeur de requête (préversion), puis connectez-vous en tant qu’utilisateur dbadmin à l’aide du mot de passe spécifié pour ce compte.

  3. Pour vérifier les tables de la base de données, exécutez la commande suivante dans la fenêtre Requête 1 :

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    La table Person doit maintenant être présente.

    Capture d’écran montrant des résultats après l’interrogation des tables de la base de données.

  4. Vérifiez que les données se trouvent dans la table en exécutant la commande suivante :

    SELECT * FROM Person
    

    Vous devez voir les données que vous avez entrées.

    Capture d’écran montrant des résultats confirmés après l’interrogation des tables de la base de données.

Vous venez d’apprendre comment restaurer une base de données au cas où un événement inattendu impacterait les données. Vous vous êtes familiarisé avec le processus de restauration. Vous pouvez désormais garantir à votre organisation que vous avez correctement défini vos procédures de sauvegarde et de restauration.