Share via


Tutorial: Wiederherstellen von SAP HANA-Datenbanken auf einem virtuellen Azure-Computer über die Azure CLI

In diesem Tutorial wird beschrieben, wie Sie eine SAP HANA-Datenbankinstanz und eine SAP HANA-Systemreplikationsinstanz (HSR) mithilfe der Azure CLI wiederherstellen.

Die Azure CLI dient zum Erstellen und Verwalten von Azure-Ressourcen über die Befehlszeile oder mit Skripts. In dieser Dokumentation wird beschrieben, wie Sie eine gesicherte SAP HANA-Datenbank auf einem virtuellen Azure-Computer über die Azure CLI wiederherstellen. Sie können diese Schritte auch über das Azure-Portal ausführen.

Hinweis

  • Die Wiederherstellung am ursprünglichen Speicherort (Original Location Recovery, OLR) wird für HSR derzeit nicht unterstützt.
  • Die Wiederherstellung in einer HSR-Instanz wird nicht unterstützt. Es wird jedoch nur die Wiederherstellung in einer HANA-Instanz unterstützt.

Verwenden Sie Azure Cloud Shell, um die CLI-Befehle auszuführen.

In diesem Tutorial wird davon ausgegangen, dass Sie über eine per Azure Backup gesicherte SAP HANA-Datenbank verfügen, die auf einem virtuellen Azure-Computer ausgeführt wird. Falls Sie die Anleitung unter Sichern einer SAP HANA-Datenbank in Azure mit der CLI verwendet haben, um Ihre SAP HANA-Datenbank zu sichern, nutzen Sie die folgenden Ressourcen:

  • Eine Ressourcengruppe namens saphanaResourceGroup.
  • Ein Tresor namens saphanaVault.
  • Ein geschützter Container namens VMAppContainer;Compute;saphanaResourceGroup;saphanaVM.
  • Eine gesicherte Datenbank/ein gesichertes Element namens saphanadatabase;hxe;hxe.
  • Ressourcen in der Region westus2.

Weitere Informationen zu den unterstützten Konfigurationen und Szenarien finden Sie in der Unterstützungsmatrix für SAP HANA-Sicherungen.

Anzeigen von Wiederherstellungspunkten für eine gesicherte Datenbank

Verwenden Sie das Cmdletaz backup recoverypoint list wie folgt, um die Liste mit allen Wiederherstellungspunkten anzuzeigen:

Auswählen eines Datenbanktyps:

Führen Sie den folgenden Befehl aus, um die verfügbaren Wiederherstellungspunkte anzuzeigen:

az backup recoverypoint list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
   --output table

Die Liste mit den Wiederherstellungspunkten sieht wie folgt aus:

Name                      Time                               BackupManagementType   Item Name               RecoveryPointType
-------------------       ---------------------------------  ---------------------  ----------------------  ------------------
7660777527047692711       2019-12-10T04:00:32.346000+00:00   AzureWorkload          SAPHanaDtabase;hxe;hxe  Full
7896624824685666836       2019-12-15T10:33:32.346000+00:00   AzureWorkload          SAPHanaDtabase;hxe;hxe  Differential
DefaultRangeRecoveryPoint                                    AzureWorkload          SAPHanaDtabase;hxe;hxe  Log

Wie Sie sehen, enthält die obige Liste drei Wiederherstellungspunkte: jeweils einen für die vollständige, differenzielle und Protokollsicherung.

Hinweis

Sie können auch die Start- und Endpunkte für alle ununterbrochenen Protokollsicherungsketten anzeigen, indem Sie das Cmdlet az backup recoverypoint show-log-chain verwenden.

Voraussetzungen für die Wiederherstellung einer Datenbank

Stellen Sie vor dem Wiederherstellen einer Datenbank sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • Sie können die Datenbank nur in einer SAP HANA-Instanz wiederherstellen, die sich in derselben Region befindet.
  • Die Zielinstanz muss beim gleichen Tresor wie die Quelle registriert sein.
  • Mit Azure Backup ist es nicht möglich, zwei verschiedene SAP HANA-Instanzen auf derselben VM zu identifizieren. Daher ist das Wiederherstellen von Daten einer Instanz auf einer anderen auf demselben virtuellen Computer nicht möglich.

Wiederherstellen einer Datenbank

Azure Backup kann auf virtuellen Azure-Computern ausgeführte SAP HANA-Datenbanken wie folgt wiederherstellen:

  • Wiederherstellung eines bestimmten Datums oder einer bestimmten Uhrzeit (sekundengenau) mithilfe von Protokollsicherungen. Azure Backup ermittelt automatisch die geeigneten vollständige differenziellen Sicherungen und die Kette von Protokollsicherungen, die für die Wiederherstellung Ihrer Daten basierend auf dem ausgewählten Zeitpunkt benötigt werden.
  • Wiederherstellung einer bestimmten vollständigen oder differenziellen Sicherung, um die Daten eines bestimmten Wiederherstellungspunkts wiederherzustellen.

Verwenden Sie zum Wiederherstellen einer Datenbank das Cmdlet az restore restore-azurewl. Hierfür ist ein Objekt für die Wiederherstellungskonfiguration als eines der Eingabeelemente erforderlich. Sie können dieses Objekt generieren, indem Sie das Cmdlet az backup recoveryconfig show verwenden. Das Objekt für die Wiederherstellungskonfiguration enthält alle Details zur Durchführung einer Wiederherstellung. Hierbei ist ein Punkt der Wiederherstellungsmodus: OriginalWorkloadRestore oder AlternateWorkloadRestore.

Hinweis

OriginalWorkloadRestore: Die Daten werden auf derselben SAP HANA-Instanz wiederhergestellt, auf der sich auch die ursprüngliche Quelle befunden hat. Bei dieser Option wird die ursprüngliche Datenbank überschrieben.
AlternateWorkloadRestore: Die Datenbank wird an einem alternativen Speicherort wiederhergestellt, und die ursprüngliche Quelldatenbank bleibt erhalten.

Wiederherstellen an einem alternativen Speicherort

Verwenden Sie AlternateWorkloadRestore als Wiederherstellungsmodus, wenn Sie eine Datenbank an einem anderen Speicherort wiederherstellen möchten. Anschließend müssen Sie den Wiederherstellungspunkt auswählen. Dies kann entweder ein früherer Zeitpunkt oder einer der zurückliegenden Wiederherstellungspunkte sein.

In diesem Tutorial stellen Sie die Daten eines zurückliegenden Wiederherstellungspunkts wieder her. Zeigen Sie die Liste mit den Wiederherstellungspunkten für die Datenbank an, und wählen Sie den Punkt aus, für den Sie die Wiederherstellung durchführen möchten. In diesem Tutorial wird der Wiederherstellungspunkt mit dem Namen 7660777527047692711 verwendet.

Mit dem Namen des obigen Wiederherstellungspunkts und unter Nutzung des Wiederherstellungsmodus erstellen wir nun das Objekt für die Wiederherstellungskonfiguration. Hierfür verwenden wir das Cmdlet az backup recoveryconfig show. Die übrigen Parameter dieses Cmdlets haben die folgende Bedeutung:

  • --target-item-name: Dies ist der Name, der von der wiederhergestellten Datenbank verwendet wird. In diesem Fall haben wir den Namen restored_database genutzt.
  • --target-server-name: Dies ist der Name eines SAP HANA-Servers, der erfolgreich für einen Recovery Services-Tresor registriert wurde und sich in derselben Region wie die wiederherzustellende Datenbank befindet. In diesem Tutorial stellen wir die Datenbank auf demselben SAP HANA-Server mit dem Namen hxehost wieder her, den wir geschützt haben.
  • --target-server-type: Für die Wiederherstellung von SAP HANA-Datenbanken muss HANAInstance verwendet werden.

Auswählen eines Datenbanktyps:

Führen Sie den folgenden Befehl aus, um den Wiederherstellungsvorgang zu starten:


az backup recoveryconfig show --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --restore-mode AlternateWorkloadRestore \
    --rp-name 7660777527047692711 \
    --target-item-name restored_database \
    --target-server-name hxehost \
    --target-server-type HANAInstance \
    --workload-type SAPHANA \
    --output json

Die Antwort auf die obige Abfrage ist ein Objekt für die Wiederherstellungskonfiguration, das in etwa wie folgt aussieht:

{"restore_mode": "AlternateLocation", "container_uri": " VMAppContainer;Compute;saphanaResourceGroup;saphanaVM ", "item_uri": "SAPHanaDatabase;hxe;hxe", "recovery_point_id": "7660777527047692711", "item_type": "SAPHana", "source_resource_id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/saphanaResourceGroup/providers/Microsoft.Compute/virtualMachines/saphanavm", "database_name": null, "container_id": null, "alternate_directory_paths": null}

Führen Sie nun zum Wiederherstellen der Datenbank das Cmdlet az restore restore-azurewl aus. Zum Verwenden dieses Befehls geben wir die obige JSON-Ausgabe ein, die in einer Datei mit dem Namen recoveryconfig.json gespeichert wird.

az backup restore restore-azurewl --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --restore-config recoveryconfig.json \
    --output table

Die Ausgabe sieht dann wie folgt aus:

Name                                  Resource
------------------------------------  -------
5b198508-9712-43df-844b-977e5dfc30ea  SAPHANA

In der Antwort ist der Auftragsname enthalten. Dieser Auftragsname kann zum Nachverfolgen des Auftragsstatus mit dem Cmdlet az backup job show verwendet werden.

Wiederherstellen und Überschreiben

Wir verwenden OrignialWorkloadRestore als Wiederherstellungsmodus, um die Wiederherstellung am ursprünglichen Ort durchzuführen. Anschließend müssen Sie den Wiederherstellungspunkt auswählen. Dies kann entweder ein früherer Zeitpunkt oder einer der zurückliegenden Wiederherstellungspunkte sein.

Für dieses Tutorial wählen wir den zurückliegenden Zeitpunkt „28-11-2019-09:53:00“ für die Wiederherstellung aus. Sie können diesen Wiederherstellungspunkt in den folgenden Formaten angeben: „tt-mm-jjjj“ und „tt-mm-jjjj-hh:mm:ss“. Verwenden Sie das Cmdlet az backup recoverypoint show-log-chain, um einen gültigen Zeitpunkt für die Wiederherstellung auszuwählen. Hiermit werden die Intervalle mit den ununterbrochenen Protokollkettensicherungen aufgelistet.

az backup recoveryconfig show --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --restore-mode OriginalWorkloadRestore \
    --log-point-in-time 28-11-2019-09:53:00 \
    --output json

Die Antwort auf die obige Abfrage ist ein Objekt für die Wiederherstellungskonfiguration, das wie folgt aussieht:

{"restore_mode": "OriginalLocation", "container_uri": " VMAppContainer;Compute;saphanaResourceGroup;saphanaVM ", "item_uri": "SAPHanaDatabase;hxe;hxe", "recovery_point_id": "DefaultRangeRecoveryPoint", "log_point_in_time": "28-11-2019-09:53:00", "item_type": "SAPHana", "source_resource_id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/saphanaResourceGroup/providers/Microsoft.Compute/virtualMachines/saphanavm", "database_name": null, "container_id": null, "alternate_directory_paths": null}"

Führen Sie nun zum Wiederherstellen der Datenbank das Cmdlet az restore restore-azurewl aus. Zum Verwenden dieses Befehls geben wir die obige JSON-Ausgabe ein, die in einer Datei mit dem Namen recoveryconfig.json gespeichert wird.

az backup restore restore-azurewl --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --restore-config recoveryconfig.json \
    --output table

Die Ausgabe sieht dann wie folgt aus:

Name                                  Resource
------------------------------------  --------
5b198508-9712-43df-844b-977e5dfc30ea  SAPHANA

In der Antwort ist der Auftragsname enthalten. Dieser Auftragsname kann zum Nachverfolgen des Auftragsstatus mit dem Cmdlet az backup job show verwendet werden.

Wiederherstellung in der sekundären Region

Um eine Datenbank in der sekundären Region wiederherzustellen, geben Sie in der Wiederherstellungskonfiguration einen Zieldatenspeicher und einen Server in der sekundären Region an.

az backup recoveryconfig show --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;compute;hanasnapshotcvtmachines;hanasnapcvt01 \
    --item-name SAPHanaDatabase;h10;h10 \
    --restore-mode AlternateWorkloadRestore \
    --from-full-rp-name 293170069256531 \
    --rp-name 293170069256531 \
    --target-server-name targethanaserver \
    --target-container-name VMAppContainer;compute;saphanaTargetRG;targethanaserver \
    --target-item-name h10 \
    --target-server-type HANAInstance \
    --workload-type SAPHANA \
    --target-resource-group saphanaTargetRG \
    --target-vault-name targetVault \
    --backup-management-type AzureWorkload

Es folgt die Antwort auf den obigen Befehl, die ein Wiederherstellungskonfigurationsobjekt sein wird:

{
  "alternate_directory_paths": null,
  "container_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaTargetRG/providers/Microsoft.RecoveryServices/vaults/targetVault/backupFabrics/Azure/protectionContainers/vmappcontainer;compute;saphanaTargetRG;targethanaserver",
  "container_uri": "VMAppContainer;compute;hanasnapshotcvtmachines;hanasnapcvt01",
  "database_name": "SAPHanaDatabase;h10;h10",
  "filepath": null,
  "item_type": "SAPHana",
  "item_uri": "SAPHanaDatabase;h10;h10",
  "log_point_in_time": null,
  "recovery_mode": null,
  "recovery_point_id": "293170069256531",
  "restore_mode": "AlternateLocation",
  "source_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaResourceGroup/providers/Microsoft.Compute/virtualMachines/hanasnapcvt01",
  "workload_type": "SAPHanaDatabase"
}

Verwenden Sie diese Wiederherstellungskonfiguration in dem Cmdlet az restore restore-azurewl. Wählen Sie das Kennzeichen --use-secondary-region, um die Datenbank in der sekundären Region wiederherzustellen.

az backup restore restore-azurewl --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --recovery-config recoveryconfig.json \
    --use-secondary-region \
    --output table

Die Ausgabe sieht dann wie folgt aus:

Name                                  Operation           Status      Item Name            Backup Management Type    Start Time UTC                    Duration
------------------------------------  ------------------  ----------  -------------------  ------------------------  --------------------------------  --------------
00000000-0000-0000-0000-000000000000  CrossRegionRestore  InProgress  H10 [hanasnapcvt01]  AzureWorkload             2021-12-22T05:21:34.165617+00:00  0:00:05.665470

Hinweis

Das RPO für die Verfügbarkeit der Sicherungsdaten in der sekundären Region beträgt 12 Stunden. Wenn Sie CRR aktivieren, beträgt das RPO für die sekundäre Region daher 12 Stunden + Protokollhäufigkeitsdauer (die auf mindestens 15 Minuten festgelegt werden kann).

Wiederherstellen als Dateien

Um die Sicherungsdaten als Dateien anstatt einer Datenbank wiederherzustellen, verwenden wir RestoreAsFiles als Wiederherstellungsmodus. Wählen Sie dann den Wiederherstellungspunkt aus. Dies kann entweder ein früherer Zeitpunkt oder einer der zurückliegenden Wiederherstellungspunkte sein. Nachdem die Dateien in einem angegebenen Pfad gesichert wurden, können Sie diese Dateien auf jeden SAP HANA-Computer verschieben, auf dem sie als Datenbank wiederhergestellt werden sollen. Da Sie diese Dateien auf einen beliebigen Computer verschieben können, können Sie nun die Daten über Abonnements und Regionen hinweg wiederherstellen.

In diesem Tutorial wählen wir den vorherigen Zeitpunkt 28-11-2019-09:53:00 für die Wiederherstellung und den Speicherort für Sicherungsdateikopien als /home/saphana/restoreasfiles auf demselben SAP HANA-Server aus. Sie können diesen Wiederherstellungspunkt in einem der folgenden Formate angeben: tt-mm-jjjj oder tt-mm-jjjj-hh:mm:ss. Verwenden Sie das Cmdlet az backup recoverypoint show-log-chain, um einen gültigen Zeitpunkt für die Wiederherstellung auszuwählen. Hiermit werden die Intervalle mit den ununterbrochenen Protokollkettensicherungen aufgelistet.

Mit dem oben aufgeführten Wiederherstellungspunktnamen und unter Nutzung des Wiederherstellungsmodus erstellen wir nun das Objekt für die Wiederherstellungskonfiguration. Hierfür verwenden wir das Cmdlet az backup recoveryconfig show. Die übrigen Parameter dieses Cmdlets haben die folgende Bedeutung:

  • --target-container-name: Dies ist der Name eines SAP HANA-Servers, der erfolgreich für einen Recovery Services-Tresor registriert wurde und sich in derselben Region wie die wiederherzustellende Datenbank befindet. In diesem Tutorial stellen wir die Datenbank als Datenen auf demselben SAP HANA-Server mit dem Namen hxehost wieder her, den wir geschützt haben.
  • --rp-name: Für eine Point-in-Time-Wiederherstellung lautet der Wiederherstellungspunktname DefaultRangeRecoveryPoint.
az backup recoveryconfig show --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --restore-mode RestoreAsFiles \
    --log-point-in-time 28-11-2019-09:53:00 \
    --rp-name DefaultRangeRecoveryPoint \
    --target-container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --filepath /home/saphana/restoreasfiles \
    --output json

Die Antwort auf die Abfrage oben ist ein Objekt für die Wiederherstellungskonfiguration, das wie folgt aussieht:

{
  "alternate_directory_paths": null,
  "container_id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/SAPHANAVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SAPHANA;hanamachine",
  "container_uri": "VMAppContainer;compute;saphana;hanamachine",
  "database_name": null,
  "filepath": "/home/",
  "item_type": "SAPHana",
  "item_uri": "SAPHanaDatabase;hxe;hxe",
  "log_point_in_time": "04-07-2020-09:53:00",
  "recovery_mode": "FileRecovery",
  "recovery_point_id": "DefaultRangeRecoveryPoint",
  "restore_mode": "AlternateLocation",
  "source_resource_id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/saphanaResourceGroup/providers/Microsoft.Compute/virtualMachines/hanamachine"
}

Führen Sie nun zum Wiederherstellen der Datenbank als Dateien das Cmdlet az restore restore-azurewl aus. Zum Verwenden dieses Befehls geben wir die oben aufgeführte JSON-Ausgabe ein, die in einer Datei mit dem Namen recoveryconfig.json gespeichert wird.

az backup restore restore-azurewl --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --restore-config recoveryconfig.json \
    --output json

Die Ausgabe sieht dann wie folgt aus:

{
  "eTag": null,
  "id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/SAPHANARESOURCEGROUP/providers/Microsoft.RecoveryServices/vaults/SAPHANAVault/backupJobs/608e737e-c001-47ca-8c37-57d909c8a704",
  "location": null,
  "name": "608e737e-c001-47ca-8c37-57d909c8a704",
  "properties": {
    "actionsInfo": [
      "Cancellable"
    ],
    "activityId": "7ddd3c3a-c0eb-11ea-a5f8-54ee75ec272a",
    "backupManagementType": "AzureWorkload",
    "duration": "0:00:01.781847",
    "endTime": null,
    "entityFriendlyName": "HXE [hxehost]",
    "errorDetails": null,
    "extendedInfo": {
      "dynamicErrorMessage": null,
      "propertyBag": {
        "Job Type": "Restore as files"
      },
      "tasksList": [
        {
          "status": "InProgress",
          "taskId": "Transfer data from vault"
        }
      ]
    },
    "jobType": "AzureWorkloadJob",
    "operation": "Restore",
    "startTime": "2020-07-08T07:20:29.336434+00:00",
    "status": "InProgress",
    "workloadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupJobs"
}

In der Antwort ist der Auftragsname enthalten. Dieser Auftragsname kann zum Nachverfolgen des Auftragsstatus mit dem Cmdlet az backup job show verwendet werden.

Die folgenden Dateien werden im Zielcontainer gesichert:

  • Datenbanksicherungsdateien
  • Katalogdateien
  • JSON-Metadatendateien (für jede betroffene Sicherungsdatei)

Normalerweise kann über einen Netzwerkfreigabepfad oder den Pfad einer eingebundenen Azure-Dateifreigabe, wenn dieser als Zielpfad angegeben ist, über andere Computer im selben Netzwerk oder mit derselben eingebundenen Azure-Dateifreigabe einfacher auf diese Dateien zugegriffen werden.

Hinweis

Um die Datenbank-Sicherungsdateien auf einer Azure-Dateifreigabe wiederherzustellen, die auf der registrierten Ziel-VM bereitgestellt ist, stellen Sie sicher, dass das root-Konto über Lese-/Schreibberechtigungen für die Azure-Dateifreigabe verfügt.

Basierend auf dem ausgewählten Typ von Wiederherstellungspunkt (Point-in-Time oder Vollständig und differenziell) sehen Sie einen oder mehrere im Zielpfad erstellte Ordner. Einer der Ordner mit dem Namen Data_<date and time of restore> enthält die vollständigen Sicherungen, während der andere Ordner mit dem Namen Log die Protokollsicherungen und sonstigen Sicherungen (z. B. differenziell und inkrementell) enthält.

Hinweis

Wenn Sie die Wiederherstellung eines bestimmten Zeitpunkts ausgewählt haben, enthalten die Protokolldateien (die auf dem virtuellen Zielcomputer gespeichert werden) manchmal Protokolle, die über den für die Wiederherstellung ausgewählten Zeitpunkt hinausgehen. Azure Backup stellt auf diese Weise sicher, dass Protokollsicherungen für alle HANA-Dienste für eine konsistente und erfolgreiche Wiederherstellung zum ausgewählten Zeitpunkt verfügbar sind.

Hinweis

Wenn Sie nicht die gesamte Kette, sondern nur eine Teilmenge von Dateien wiederherstellen möchten, befolgen Sie die Schritte, die hier dokumentiert sind.

Verschieben Sie diese wiederhergestellten Dateien auf den SAP HANA-Server, auf dem Sie sie als-Datenbank wiederherstellen möchten. Führen Sie dann die folgenden Schritte zum Wiederherstellen der Datenbank aus:

  1. Legen Sie Berechtigungen für den Ordner/das Verzeichnis fest, indem die Sicherungsdateien gespeichert sind. Führen Sie dazu folgenden Befehl aus:

    chown -R <SID>adm:sapsys <directory>
    
  2. Führen Sie den nächsten Satz als <SID>adm aus.

    su - <sid>adm
    
  3. Generieren Sie die Katalogdatei für die Wiederherstellung. Extrahieren Sie die BackupId aus der JSON-Metadatendatei für die vollständige Sicherung, die später im Wiederherstellungsvorgang verwendet wird. Stellen Sie sicher, dass sich die vollständigen Sicherungen und die Protokollsicherungen in unterschiedlichen Ordnern befinden, und löschen Sie die Katalogdateien und die JSON-Metadatendateien in diesen Ordnern.

    hdbbackupdiag --generate --dataDir <DataFileDir> --logDirs <LogFilesDir> -d <PathToPlaceCatalogFile>
    

    Im obigen Befehl:

    • <DataFileDir> ist der Ordner mit den vollständigen Sicherungen.
    • <LogFilesDir> ist der Ordner, der die Protokollsicherungen, differenziellen und inkrementellen Sicherungen (falls vorhanden) enthält.
    • <PathToPlaceCatalogFile> ist der Ordner, in dem die generierte Katalogdatei platziert werden muss.
  4. Führen Sie die Wiederherstellung mit der neu generierten Katalogdatei über HANA Studio aus, oder führen Sie die HDBSQL-Wiederherstellungsabfrage mit diesem neu generierten Katalog aus. HDBSQL-Abfragen sind unten aufgelistet:

    • Wiederherstellen eines bestimmten Zeitpunkts:

      Wenn Sie eine neue wiederhergestellte Datenbank erstellen, führen Sie den HDBSQL-Befehl aus, um eine neue Datenbank <DatabaseName> zu erstellen, und beenden Sie die Datenbank anschließend für die Wiederherstellung. Wenn Sie jedoch nur eine vorhandene Datenbank wiederherstellen, führen Sie den HDBSQL-Befehl aus, um die Datenbank zu beenden.

      Führen Sie dann den folgenden Befehl aus, um die Datenbank wiederherzustellen:

      RECOVER DATABASE FOR <DatabaseName> UNTIL TIMESTAMP '<TimeStamp>' CLEAR LOG USING SOURCE '<DatabaseName@HostName>'  USING CATALOG PATH ('<PathToGeneratedCatalogInStep3>') USING LOG PATH (' <LogFileDir>') USING DATA PATH ('<DataFileDir>') USING BACKUP_ID <BackupIdFromJsonFile> CHECK ACCESS USING FILE
      
      • <DatabaseName> ist der Name der neuen oder vorhandenen Datenbank, die Sie wiederherstellen möchten.
      • <Timestamp> ist der genaue Zeitstempel der Point-in-Time-Wiederherstellung.
      • <DatabaseName@HostName> ist der Name der Datenbank, deren Sicherung für die Wiederherstellung verwendet wird, und der Name des Hosts/SAP HANA-Servers, auf dem sich diese Datenbank befindet. Die Option USING SOURCE <DatabaseName@HostName> gibt an, dass sich die Datensicherung (die für die Wiederherstellung verwendet wird) auf eine Datenbank mit einer anderen SID oder einem anderen Namen als der Ziel-SAP HANA-Computer bezieht. Daher muss sie nicht für Wiederherstellungen angegeben werden, die auf dem HANA-Server ausgeführt werden, auf dem die Sicherung aufgezeichnet wurde.
      • <PathToGeneratedCatalogInStep3> ist der Pfad zur Katalogdatei, die in Schritt 3 generiert wurde.
      • <DataFileDir> ist der Ordner mit den vollständigen Sicherungen.
      • <LogFilesDir> ist der Ordner, der die Protokollsicherungen, differenziellen und inkrementellen Sicherungen (falls vorhanden) enthält.
      • <BackupIdFromJsonFile> ist die BackupId, die in Schritt 3 extrahiert wurde.
    • Wiederherstellen einer bestimmten vollständigen oder differenziellen Sicherung:

      Wenn Sie eine neue wiederhergestellte Datenbank erstellen, führen Sie den HDBSQL-Befehl aus, um eine neue Datenbank <DatabaseName> zu erstellen, und beenden Sie die Datenbank anschließend für die Wiederherstellung. Wenn Sie jedoch nur eine vorhandene Datenbank wiederherstellen, führen Sie den HDBSQL-Befehl aus, um die Datenbank zu beenden:

      RECOVER DATA FOR <DatabaseName> USING BACKUP_ID <BackupIdFromJsonFile> USING SOURCE '<DatabaseName@HostName>'  USING CATALOG PATH ('<PathToGeneratedCatalogInStep3>') USING DATA PATH ('<DataFileDir>')  CLEAR LOG
      
      • <DatabaseName> ist der Name der neuen oder vorhandenen Datenbank, die Sie wiederherstellen möchten.
      • <Timestamp> ist der genaue Zeitstempel der Point-in-Time-Wiederherstellung.
      • <DatabaseName@HostName> ist der Name der Datenbank, deren Sicherung für die Wiederherstellung verwendet wird, und der Name des Hosts/SAP HANA-Servers, auf dem sich diese Datenbank befindet. Die Option USING SOURCE <DatabaseName@HostName> gibt an, dass sich die Datensicherung (die für die Wiederherstellung verwendet wird) auf eine Datenbank mit einer anderen SID oder einem anderen Namen als der Ziel-SAP HANA-Computer bezieht. Daher muss sie nicht für Wiederherstellungen angegeben werden, die auf dem HANA-Server ausgeführt werden, auf dem die Sicherung aufgezeichnet wurde.
      • <PathToGeneratedCatalogInStep3> ist der Pfad zur Katalogdatei, die in Schritt 3 generiert wurde.
      • <DataFileDir> ist der Ordner mit den vollständigen Sicherungen.
      • <LogFilesDir> ist der Ordner, der die Protokollsicherungen, differenziellen und inkrementellen Sicherungen (falls vorhanden) enthält.
      • <BackupIdFromJsonFile> ist die BackupId, die in Schritt 3 extrahiert wurde.

Abonnementübergreifende Wiederherstellung

Mit der Abonnementübergreifenden Wiederherstellung (Cross Subscription Restore, CSR) haben Sie die Flexibilität, jedes Abonnement und jeden Tresor unter Ihrem Mandanten wiederherzustellen, wenn Wiederherstellungsberechtigungen verfügbar sind. Standardmäßig ist CSR für alle Recovery Services-Tresore (vorhandene und neu erstellte Tresore) aktiviert.

Hinweis

  • Sie können die abonnementübergreifende Wiederherstellung aus dem Recovery Services-Tresor auslösen.
  • CSR wird nur für Streaming-/Backint-basierte Sicherungen und nicht für momentaufnahmebasierte Sicherungen unterstützt.
  • Regionsübergreifende Wiederherstellung (Cross Regional Restore, CRR) mit CSR wird nicht unterstützt.
az backup vault create

Fügen Sie den Parameter cross-subscription-restore-state hinzu, mit dem Sie den CSR-Status des Tresors während der Erstellung und Aktualisierung des Tresors festlegen können.

az backup recoveryconfig show

Fügen Sie den Parameter „--target-subscription-id“ hinzu, mit dem Sie das Zielabonnement als Eingabe beim Auslösen von Cross Subscription Restore für SQL- oder HANA-Datenquellen angeben können.

Beispiel:

   az backup vault create -g {rg_name} -n {vault_name} -l {location} --cross-subscription-restore-state Disable
   az backup recoveryconfig show --restore-mode alternateworkloadrestore --backup-management-type azureworkload -r {rp} --target-container-name {target_container} --target-item-name {target_item} --target-resource-group {target_rg} --target-server-name {target_server} --target-server-type SQLInstance --target-subscription-id {target_subscription} --target-vault-name {target_vault} --workload-type SQLDataBase --ids {source_item_id}

Nächste Schritte