Oefening: gegevens herstellen door een Azure SQL-database terug te zetten

Voltooid

Proefherstelbewerkingen zijn een belangrijk onderdeel van elke strategie voor herstel na noodgevallen.

U moet vertrouwd raken met de stappen om een back-up van een database te herstellen naar een bepaald tijdstip mocht dat nodig zijn. U wilt ook onderzoeken hoe lang een herstelbewerking duurt. Op die manier kunt u deze keer plannen in uw richtlijnen voor uw organisatie.

Laten we een herstel uitvoeren vanuit geautomatiseerde Back-ups van Azure SQL Database.

Bevestigen dat back-ups actief zijn

Het kan tot vijftien minuten duren voordat de eerste geslaagde back-up is voltooid. U moet ervoor zorgen dat back-ups worden uitgevoerd voordat u verdergaat met de oefening.

  1. Voer in Azure Cloud Shell de volgende PowerShell-opdracht uit om een variabele in te stellen op de waarde van uw SQL Server-exemplaar:

    $sqlserver=Get-AzSqlServer
    
  2. Controleer of continue back-ups worden uitgevoerd met behulp van deze opdracht:

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

    Als uw back-ups worden uitgevoerd, krijgt u een uitvoer die vergelijkbaar is met de volgende code. Als de opdracht geen waarde retourneert, is er nog geen back-up gestart. Voer deze opdracht enkele minuten later opnieuw uit.

    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 is CONTINUOUS, waarmee wordt aangegeven dat back-ups automatisch worden gemaakt. EarliestRestoreDate geeft de tijdstempel van de eerste back-up aan. Nu er back-ups zijn, gaan we verder met de oefening.

Een tabel uit de database verwijderen

Laten we beginnen met het simuleren van een onjuiste databasewijziging.

  1. Selecteer in het menu van Azure Portal of op de startpagina alle resources, selecteer erpserver-NNNN, selecteer SQL-databases en selecteer vervolgens de database sql-erp-db.

  2. Selecteer Query-editor (preview) en meld u vervolgens aan met de dbadmin-gebruiker en het wachtwoord dat u voor dit account hebt opgegeven.

  3. We gaan de tabel Person die we eerder hebben gemaakt, verwijderen. Voer deze opdracht uit in een nieuw queryvenster.

    DROP TABLE Person
    
  4. Selecteer Nieuwe query om de tabellen in de database te controleren. Voer vervolgens in het venster Query 2 deze opdracht uit om alle tabellen in de database weer te geven:

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

    Geen resultaten zou moet worden geretourneerd, omdat we de tabel Person hebben verwijderd.

    Screenshot that shows no results returned after querying for the tables in the database.

Herstel naar een bepaald tijdstip uitvoeren

De tabel Person is per ongeluk verwijderd. We gaan nu de database herstellen naar de vorige status.

  1. Selecteer in het menu van Azure Portal of op de startpaginaAlle resources en selecteer vervolgens de database sql-erp-db.

  2. Selecteer bovenaan de pagina Overzicht de optie Herstellen.

  3. Voltooi het tabblad Basisinformatie op de pagina Database herstellen met deze waarden en selecteer Vervolgens Beoordelen en maken.

    Instelling Weergegeven als
    Bron selecteren Point-in-time
    Databasenaam sql-erp-db-xxxxx
    Herstelpunt Selecteer een tijd van tien minuten eerder, voordat u de tabel Person verwijderde
    Server erpserver-xxxxx
    Wilt u een elastische SQL-pool gebruiken? Nee
    Berekening en opslag Default value
    Opslagredundantie voor back-ups Lokaal redundante back-upopslag

    Screenshot that shows the restore database page with the Review + create button selected.

  4. Selecteer Maken. Het herstellen van de database duurt enkele minuten.

De herstelde database weergeven

De herstelde database moet de tabel Person bevatten. U kunt dat in de portal controleren.

  1. Selecteer in het menu van Azure Portal of op de startpaginaAlle resources en selecteer vervolgens de database sql-erp-db-restored.

  2. Selecteer Query-editor (preview) en meld u vervolgens aan met de dbadmin-gebruiker en het wachtwoord dat u voor dit account hebt opgegeven.

  3. Voer in het venster Query 1 de volgende opdracht uit om de tabellen in de database te controleren:

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

    De tabel Person zou nu aanwezig moeten zijn.

    Screenshot showing results after querying for the tables in the database.

  4. Controleer of de gegevens zich in de tabel bevinden door deze opdracht uit te voeren:

    SELECT * FROM Person
    

    De gegevens die u eerder hebt ingevoerd, worden weergegeven.

    Screenshot showing confirmed results after querying for the tables in the database.

U hebt nu geleerd hoe u een database kunt herstellen als er iets onbedoeld gebeurt met de gegevens. U hebt uzelf vertrouwd gemaakt met het herstelproces. U kunt nu uw organisatie verzekeren dat u de procedures voor back-up en herstel goed hebt gedefinieerd.