Direkten Wiederherstellungsvorgang ausführen

Auf dieser Seite wird beschrieben, wie Sie Daten aus einer Sicherung in einer Datenbank wiederherstellen, die denselben Namen wie die Quelldatenbank der Sicherung hat. Bevor Sie diese Seite lesen, sollten Sie sich mit dem Thema Daten sichern und wiederherstellen vertraut machen.

Direkte Wiederherstellung

Mit einer direkten Wiederherstellung können Sie eine Datenbank aus einer Sicherung in der Quelldatenbank wiederherstellen, die die Sicherung erstellt hat, während die ursprüngliche Datenbank noch vorhanden ist. Mit einer direkten Wiederherstellung können Sie vermeiden, dass Traffic umgeleitet wird oder eine Datenbank mit einem anderen Namen erstellt wird.

Ein Wiederherstellungsvorgang muss eine Zieldatenbank verwenden, die noch nicht vorhanden ist. Sie können jedoch eine direkte Wiederherstellung simulieren, indem Sie die Quelldatenbank löschen und dann aus einer Sicherung in einer neuen Datenbank mit dem gleichen Namen wie die Quelldatenbank wiederherstellen.

Direktwiederherstellung ausführen

So führen Sie eine direkte Wiederherstellung durch:

  1. Ermitteln Sie die Sicherung, die für den Wiederherstellungsvorgang verwendet werden soll.
  2. Löschen Sie die vorhandene Datenbank.
  3. Verwenden Sie die Sicherung und die Datenbank-ID der gelöschten Datenbank, um den Wiederherstellungsvorgang abzuschließen.

Hinweise

Wir empfehlen, die folgenden Schritte auszuführen, bevor Sie die direkte Wiederherstellung starten:

  1. Exportieren Sie die Daten in die Datenbank, die Sie löschen möchten.

    Wenn Sie die gelöschte Datenbank wiederherstellen müssen, import Sie die Daten aus dem Exportvorgang. Wenn Sie die gelöschte Datenbank mit derselben Datenbank-ID wiederherstellen möchten, müssen Sie warten, bis alle laufenden Wiederherstellungsvorgänge abgeschlossen sind, und dann:

    1. Löschen Sie die vorhandene Datenbank mit der Datenbank-ID und warten Sie mindestens 5 Minuten
    2. Neue Datenbank mit der Datenbank-ID erstellen
    3. Importvorgang starten
  2. Rufen Sie die Indexkonfiguration Ihrer Datenbank ab und kopieren Sie sie. Exportvorgänge erfassen keine Indexdefinitionen. Verwenden Sie die Indexkonfiguration, um Indexe nach Abschluss der direkten Wiederherstellung neu zu erstellen. Verwenden Sie die folgenden Befehle, um die Indexkonfiguration Ihrer Datenbank abzurufen:

    • Verwenden Sie gcloud firestore indexes composite list, um eine Liste zusammengesetzter Indexe abzurufen:

      gcloud firestore indexes composite list --database=DATABASE_ID
      

      Ersetzen Sie DATABASE_ID durch die ID Ihrer Datenbank.

    • Verwenden Sie gcloud firestore indexes fields list, um eine Liste von Einzelfeld-Indexausnahmen (integriert) abzurufen.

      gcloud firestore indexes fields list --database=DATABASE_ID
      

Direktwiederherstellung ausführen

Führen Sie die folgenden Schritte aus, um eine direkte Wiederherstellung durchzuführen. Für diesen Vorgang ist eine Ausfallzeit zwischen dem Löschen der Datenbank und dem Abschluss der Wiederherstellung erforderlich.

Nachdem ein Wiederherstellungsvorgang begonnen hat, können Sie ihn nicht mehr abbrechen und müssen warten, bis er abgeschlossen ist. Der Wiederherstellungsvorgang belegt sofort die im Vorgang verwendete Datenbank-ID.

  1. Geben Sie mit dem Befehl gcloud alpha firestore backups list die Sicherung an, die für den Wiederherstellungsvorgang verwendet werden soll, und notieren Sie sich den Ressourcennamen. Der Ressourcenname hat folgendes Format:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Verwenden Sie den Befehl gcloud firestore databases delete, um die vorhandene Datenbank zu löschen:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    Ersetzen Sie DATABASE_ID durch die Datenbank-ID.

  3. Warten Sie nach dem Löschen der Datenbank mindestens 5 Minuten, bis die Datenbank-ID wieder verfügbar ist. Starten Sie eine Wiederherstellung mit dem Befehl gcloud alpha firestore databases restore:

    gcloud alpha firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    Ersetzen Sie DATABASE_ID durch die Datenbank-ID.

Nächste Schritte