Übung: Wiederherstellen von Daten durch Wiederherstellung einer Azure SQL-Datenbank

Abgeschlossen

Testwiederherstellungen sind ein wichtiger Bestandteil jeder Strategie zur Notfallwiederherstellung.

Machen Sie sich mit den Schritten zur Wiederherstellung einer gesicherten Datenbank zu einem bestimmten Zeitpunkt vertraut, damit Sie für einen möglichen Anwendungsfall gut vorbereitet sind. Außerdem möchten Sie untersuchen, wie lange ein Wiederherstellungsvorgang dauert. So können Sie den betreffenden Zeitraum in Ihrem Leitfaden für Ihre Organisation berücksichtigen.

Führen Sie eine Wiederherstellung aus automatisierten Azure SQL-Datenbank-Sicherungen durch.

Überprüfen, ob Sicherungen ausgeführt werden

Es kann bis zu 15 Minuten dauern, bis die erste erfolgreiche Sicherung abgeschlossen ist. Vergewissern Sie sich, dass die Sicherungen ausgeführt werden, bevor Sie mit der Übung fortfahren.

  1. Führen Sie in Azure Cloud Shell den folgenden PowerShell-Befehl aus, um eine Variable auf den Wert Ihrer SQL Server-Instanz festzulegen:

    $sqlserver=Get-AzSqlServer
    
  2. Überprüfen Sie, ob fortlaufende Sicherungen mithilfe dieses Befehls ausgeführt werden:

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

    Werden die Sicherungen ausgeführt, sollte eine Ausgabe wie der folgende Code angezeigt werden. Gibt der Befehl keinen Wert zurück, wurde die Sicherung noch nicht gestartet. Führen Sie den Befehl einige Minuten später erneut aus.

    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        :
    

    Für RestorePointType gilt CONTINUOUS. Dies bedeutet, dass die Sicherungen automatisch ausgeführt werden. EarliestRestoreDate gibt den Zeitstempel der ersten Sicherung an. Nachdem Sie nun wissen, dass die Sicherungen ausgeführt werden, können Sie mit der Übung fortfahren.

Löschen einer Tabelle aus der Datenbank

Beginnen Sie damit, dass Sie einen Fehler bei der Datenbankänderung simulieren.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Alle Ressourcen aus, wählen Sie erpserver-NNNN aus, klicken Sie auf SQL-Datenbanken, und wählen Sie dann die Datenbank sql-erp-db aus.

  2. Wählen Sie Abfrage-Editor (Vorschau) aus, und melden Sie sich mit dem Benutzer bzw. mit der Benutzerin dbadmin und dem von Ihnen für dieses Konto angegebenen Kennwort an.

  3. Löschen Sie die Tabelle Person, die Sie zuvor erstellt haben. Führen Sie in einem neuen Abfragefenster den folgenden Befehl aus:

    DROP TABLE Person
    
  4. Klicken Sie auf Neue Abfrage, um die Tabellen in der Datenbank zu überprüfen. Führen Sie im Fenster Abfrage 2 den folgenden Befehl aus, um alle Tabellen in der Datenbank anzuzeigen:

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

    Da Sie die Tabelle Person gelöscht haben, sollte die Ausgabe Keine Ergebnisse zurückgegeben werden.

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

Ausführen einer Point-in-Time-Wiederherstellung

Die Tabelle Person wurde versehentlich gelöscht. Stellen Sie nun den vorherigen Zustand der Datenbank wieder her.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Alle Ressourcen aus, und wählen Sie dann die Datenbank sql-erp-db aus.

  2. Klicken Sie oben auf der Seite Übersicht auf Wiederherstellen.

  3. Tragen Sie diese Werte in die Registerkarte Grundlagen auf der Seite Datenbank wiederherstellen ein, und klicken Sie dann auf Überprüfen und erstellen.

    Einstellung Wert
    Quelle auswählen Zeitpunkt
    Datenbankname sql-erp-db-xxxxx
    Wiederherstellungspunkt Wählen Sie als Zeitpunkt zehn Minuten, bevor Sie die Tabelle Person gelöscht haben, aus.
    Server erpserver-xxxxx
    Möchten Sie einen Pool für elastische SQL-Datenbanken verwenden? Nein
    Compute und Speicher Standardwert
    Redundanz für Sicherungsspeicher Lokal redundanter Sicherungsspeicher

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

  4. Klicken Sie auf Erstellen. Die Datenbankwiederherstellung dauert einige Minuten.

Anzeigen der wiederhergestellten Datenbank

Die wiederhergestellte Datenbank sollte die Tabelle Person enthalten. Sie können dies im Portal überprüfen.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Alle Ressourcen aus, und wählen Sie dann die Datenbank sql-erp-db-restored aus.

  2. Wählen Sie Abfrage-Editor (Vorschau) aus, und melden Sie sich mit dem Benutzer bzw. mit der Benutzerin dbadmin und dem von Ihnen für dieses Konto angegebenen Kennwort an.

  3. Führen Sie im Fenster Abfrage 1 den folgenden Befehl aus, um die Tabellen in der Datenbank zu überprüfen:

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

    Die Tabelle Person sollte jetzt angezeigt werden.

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

  4. Führen Sie den folgenden Befehl aus, um sich zu vergewissern, dass die Daten in der Tabelle vorhanden sind:

    SELECT * FROM Person
    

    Ihnen sollten jetzt die zuvor eingegebenen Daten angezeigt werden.

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

Sie wissen nun, wie Sie eine Datenbank wiederherstellen können, falls Daten versehentlich geändert oder gelöscht werden. Zudem haben Sie sich mit dem Wiederherstellungsvorgang vertraut gemacht. Sie können Ihrer Organisation also versichern, dass die Sicherungs- und Wiederherstellungsverfahren ordnungsgemäß definiert wurden.