Auf dieser Seite werden Spanner-Wiederherstellungsvorgänge beschrieben und erläutert, wie Sie eine Datenbank wiederherstellen. Weitere Informationen zur Datenbankwiederherstellung in Spanner finden Sie unter Übersicht zur Wiederherstellung.
Sie können die Sicherung in der Zielinstanz wiederherstellen, wenn sie dieselbe oder eine höhere Version als die Quellinstanz der Sicherung verwendet. Alternativ können Sie sie in einer beliebigen Instanz mit derselben Instanzkonfiguration und einer Version wiederherstellen, die der Quellinstanz entspricht oder höher ist.
Sie können eine Spanner-Datenbank mit den folgenden Methoden wiederherstellen:
- In der Google Cloud Console
- Mit der Google Cloud CLI
- Mit den Clientbibliotheken
- Mit den REST- oder RPC- APIs.
Hinweis
Bei den gcloud CLI-Beispielen auf dieser Seite wird von folgenden Annahmen ausgegangen:
- Sie haben die gcloud CLI bereits für die Verwendung mit Spanner eingerichtet. Wenn Sie die gcloud CLI noch nicht mit Spanner verwendet haben, lesen Sie Erste Schritte mit Spanner mit der gcloud CLI.
- Sie haben die gcloud CLI mit Ihrem Projekt konfiguriert. Beispiel:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Instanz zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Wiederherstellen einer Datenbank aus einer Sicherung benötigen:
-
Alle:
Cloud Spanner-Sicherungsadministrator (
roles/spanner.restoreAdmin)
-
Alle:
Cloud Spanner-Sicherungsadministrator (
Datenbank aus einer Sicherung wiederherstellen
Console
- Rufen Sie in der Google Cloud Console die Seite „Spanner-Instanzen“ auf.
Seite „Spanner-Instanzen“ aufrufen
Klicken Sie auf die Instanz mit der Datenbank, um die Seite Übersicht zu öffnen.
Klicken Sie auf die Datenbank, um die zugehörige Seite Übersicht zu öffnen.
Klicken Sie im Navigationsbereich auf Sichern/Wiederherstellen.
Klicken Sie für die ausgewählte Sicherung auf die Schaltfläche Aktionen und wählen Sie dann Wiederherstellen aus.
Wählen Sie eine kompatible Zielinstanz aus und geben Sie einen Namen für die neue Datenbank ein.
Klicken Sie auf die Schaltfläche Wiederherstellen.
Den Fortschritt des Vorgangs sehen Sie in der Fortschrittsanzeige auf der Seite „Vorgänge“:
Wenn der Vorgang zu lange dauert, können Sie ihn abbrechen. Weitere Informationen finden Sie unter Lang andauernden Instanzvorgang abbrechen.
gcloud
Verwenden Sie gcloud spanner
databases restore, um eine Datenbank wiederherzustellen:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryptionVerwendungshinweise:
- Der Befehl wird aufgrund des Flags
--asyncsofort zurückgegeben. Ohne das Flag wartet der Befehl, bis der Wiederherstellungsvorgang abgeschlossen ist. - Wenn die Quell- und Zielinstanzen unterschiedlich sind, müssen sie dieselbe Instanz Konfigurationhaben.
- Wenn die Zieldatenbank bereits vorhanden ist, schlägt der Vorgang fehl.
- Die möglichen Werte für
encryption_typesindUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONoderCUSTOMER_MANAGED_ENCRYPTION. Wenn SieCUSTOMER_MANAGED_ENCRYPTIONverwenden, müssen Sie einenkmsKeyNameangeben.
Clientbibliotheken
Im folgenden Codebeispiel wird eine Datenbank aus einer
bestimmten Sicherung wiederhergestellt und gewartet, bis der Wiederherstellungsvorgang (ein Vorgang mit
RestoreDatabaseMetadata) abgeschlossen
ist. Die wiederhergestellte Datenbank wird in derselben Instanz wie die Sicherung erstellt. Nach Abschluss des Vorgangs werden einige Wiederherstellungsinformationen aus der Datenbank abgerufen und ausgegeben.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Bestimmte Tabelle aus einer Sicherung wiederherstellen
Wenn Sie eine bestimmte Tabelle aus einer Sicherung wiederherstellen müssen, können Sie die Sicherung in einer neuen Datenbank wiederherstellen, diese einzelne Tabelle aus der neuen Datenbank exportieren und sie dann in Ihre ursprüngliche Datenbank importieren. Dieser Ansatz minimiert die Last auf der ursprünglichen Datenbank während des Exportvorgangs.
- Stellen Sie die Sicherung in einer neuen, separaten Datenbank wieder her.
Optional: Löschen Sie Zeilen, die nach dem Wiederherstellungszeitstempel erstellt wurden.
Beim Import werden Zeilen, die der Tabelle nach der Erstellung der Sicherung hinzugefügt wurden, nicht automatisch gelöscht. Wenn die wiederhergestellte Tabelle also genau dem Zustand der Sicherung entsprechen soll, müssen Sie die Zeilen, die nach dem Zeitstempel der Sicherung erstellt wurden, manuell löschen.
Exportieren Sie die bestimmte Tabelle aus der neuen Datenbank mit der Spanner to Avro Dataflow-Vorlage. Weitere Informationen finden Sie unter Teilmenge von Tabellen exportieren.
Importieren Sie die exportierte Tabelle mit der Cloud Storage Avro to Spanner Dataflow-Vorlage in Ihre ursprüngliche Datenbank. Weitere Informationen finden Sie unter Daten importieren.