Auf dieser Seite werden Spanner-Sicherungsvorgänge beschrieben und erläutert, wie Sie eine Datenbank sichern. Weitere Informationen zu Sicherungen finden Sie unter Sicherungen – Übersicht.
Sie können Datenbanken mit folgenden Methoden sichern:
Hinweise
Die Beispiele für die gcloud CLI auf dieser Seite gehen von folgenden Annahmen aus:
- 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 über die gcloud CLI.
Sie haben die gcloud CLI für Ihr Projekt konfiguriert. Beispiel:
gcloud config set core/project PROJECT_ID
Sie haben eine Instanz namens
test-instance
und eine Datenbank namensexample-db
.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Instanz zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Sicherungen benötigen:
-
Sicherungen erstellen, ansehen, aktualisieren und löschen:
Cloud Spanner-Sicherungsadministrator (
roles/spanner.backupAdmin
) -
Sicherungen erstellen und ansehen: Cloud Spanner-Sicherungsautor (
roles/spanner.backupWriter
)
-
Sicherungen erstellen, ansehen, aktualisieren und löschen:
Cloud Spanner-Sicherungsadministrator (
Sicherung erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Spanner-Instanzen auf.
Klicken Sie auf die Instanz mit der Datenbank, die Sie sichern möchten.
Klicken Sie auf die Datenbank.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung.
Klicken Sie auf dem Tab Sicherungen auf Sicherung erstellen.
Füllen Sie das Formular aus und klicken Sie auf Erstellen.
Informationen zum Überprüfen des Fortschritts eines Sicherungsvorgangs finden Sie unter Vorgangsfortschritt prüfen.
gcloud
Verwenden Sie gcloud spanner backups create
, um eine Sicherung mit dem Namen example-db-backup-6
zu erstellen, die nach einem Jahr abläuft:
gcloud spanner backups create example-db-backup-6 --instance=test-instance \
--database=example-db --retention-period=1y --async
Hier sind einige Nutzungshinweise:
- Geben Sie zum Festlegen des Ablaufdatums der Sicherung entweder das Flag
--retention-period
oder--expiration-date
an. Informationen zur Datumssyntax finden Sie untergcloud topic datetimes
. - Der Name der Sicherung darf in der Instanz nur einmal vorkommen.
- Der Befehl wird aufgrund des Flags
--async
sofort zurückgegeben. Ohne das Flag wartet der Befehl auf den Abschluss des Sicherungsvorgangs. - Geben Sie das Flag
--help
an, um Hilfe für beliebige Befehle zu erhalten.
Die Ausgabe sieht dann ungefähr so aus:
Create request issued for: [example-db-backup-6]
Check operation [projects/my-project/instances/test-instance/backups/example-db-backup-6/operations/_auto_op_234567] for status.
Informationen zum Überprüfen des Fortschritts eines Sicherungsvorgangs finden Sie unter Vorgangsfortschritt prüfen.
Clientbibliotheken
Im folgenden Codebeispiel wird eine Sicherung an einem bestimmten version_time
erstellt und dann wird gewartet, bis der Vorgang abgeschlossen ist. Anschließend wird geprüft, ob die Sicherung bereit ist, und ruft Informationen zur Sicherung ab, z. B. den Namen, die Größe und den Erstellungszeitpunkt.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Sicherung kopieren
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Spanner-Instanzen auf.
Klicken Sie auf die Instanz mit der Datenbank, die Sie kopieren möchten.
Klicken Sie auf die Datenbank.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung.
Wählen Sie in der Tabelle Sicherungen die Option Aktionen für die Sicherung aus und klicken Sie auf Kopieren.
Füllen Sie das Formular aus, indem Sie eine Zielinstanz auswählen, einen Namen angeben und ein Ablaufdatum für die Sicherungskopie festlegen.
Klicken Sie auf Kopieren.
Informationen zum Überprüfen des Kopiervorgangs finden Sie unter Vorgangsfortschritt prüfen.
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 backups copy
, um eine Sicherung in eine andere Instanz im selben Projekt zu kopieren:
gcloud spanner backups copy \
--source-instance=test-instance \
--source-backup=example-db \
--destination-instance=backup-instance \
--destination-backup=copied-backup \
--expiration-date=2022-03-30T10:49:41Z
So kopieren Sie eine Sicherung in eine andere Instanz in einem anderen Projekt:
gcloud spanner backups copy \
--source-backup=projects/my-project/instances/test-instance/backups/example-db \
--destination-backup=projects/backup-project/instances/backup-instance-eu/backups/copied-backup \
--expiration-date=2022-03-30T10:49:41Z
Verwendungshinweise:
- Wenn Sie die Sicherung in eine andere Instanz im selben Projekt kopieren möchten, müssen Sie für die kopierte Sicherung eine neue Instanz erstellen oder eine neue erstellen.
Im vorherigen Beispiel wurde
backup-instance
verwendet. Sie können im Rahmen des Sicherungskopiervorgangs keine neue Instanz erstellen. - Wenn Sie die Sicherung in ein anderes Projekt kopieren möchten, benötigen Sie für die kopierte Sicherung ein anderes Projekt mit einer eigenen Instanz. Im vorherigen Beispiel wird
backup-project
verwendet. Sie können während des Sicherungskopiervorgangs kein neues Projekt erstellen. - Die Ablaufzeit der Sicherung muss mindestens sechs Stunden nach der Verarbeitung der aktuellen Kopieranfrage und höchstens 366 Tage nach der Quellsicherung
create_time
liegen.
Die Ausgabe sieht dann ungefähr so aus:
createTime: '2022-03-29T22:06:05.905823Z'
database: projects/my-project/instances/test-instance/databases/example-db
databaseDialect: GOOGLE_STANDARD_SQL
encryptionInfo:
encryptionType: GOOGLE_DEFAULT_ENCRYPTION
expireTime: '2022-03-30T10:49:41Z'
maxExpireTime: '2023-03-17T20:46:33.479336Z'
name: projects/backup-project/instances/backup-instance-eu/backups/copied-backup
sizeBytes: '7957667'
state: READY
versionTime: '2022-03-16T20:46:33.479336Z'
Informationen zum Überprüfen des Kopiervorgangs finden Sie unter Vorgangsfortschritt prüfen.
Clientbibliotheken
Mit dem folgenden Codebeispiel wird eine vorhandene Sicherung kopiert. Sie können die Sicherung in eine Instanz in einer anderen Region oder einem anderen Projekt kopieren. Sobald der Vorgang abgeschlossen ist, werden im Beispiel einige Informationen über die neu erstellte kopierte Sicherung abgerufen und gedruckt, z. B. Name, Größe, Sicherungsstatus und version_time
.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Fortschritt des Vorgangs prüfen
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Spanner-Instanzen auf.
Klicken Sie auf die Instanz mit der Datenbank, deren Sicherungsvorgang Sie aufrufen möchten.
Klicken Sie auf die Datenbank.
Klicken Sie im Navigationsbereich auf Vorgänge. Auf der Seite Vorgänge wird eine Liste der laufenden Vorgänge angezeigt.
gcloud
Mit gcloud spanner operations describe
können Sie den Fortschritt eines Vorgangs prüfen.
Rufen Sie die Vorgangs-ID ab:
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=BACKUP
Ersetzen Sie Folgendes:
- INSTANCE_NAME durch den Namen der Spanner-Instanz.
- DATABASE_NAME durch den Namen der Datenbank.
Verwendungshinweise:
Wenn Sie die Liste einschränken möchten, geben Sie das Flag
--filter
an. Beispiel:--filter="metadata.name:example-db"
listet nur die Vorgänge für eine bestimmte Datenbank auf.--filter="error:*"
listet nur die Sicherungsvorgänge auf, die fehlgeschlagen sind.
Informationen zur Filtersyntax finden Sie unter
gcloud topic filters
. Informationen zum Filtern von Sicherungsvorgängen finden Sie im Feldfilter
inListBackupOperationsRequest
.Beim Flag
--type
wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Die Ausgabe sieht dann ungefähr so aus:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Führen Sie
gcloud spanner operations describe
aus.gcloud spanner operations describe OPERATION_ID \ --instance=INSTANCE_NAME \ --backup=BACKUP_NAME \
Ersetzen Sie Folgendes:
- OPERATION_ID: Die Vorgangs-ID des Vorgangs, den Sie prüfen möchten.
- INSTANCE_NAME: Der Name der Spanner-Instanz.
- BACKUP_NAME: Der Name der Spanner-Sicherung.
Der Abschnitt
progress
in der Ausgabe zeigt den Prozentsatz des abgeschlossenen Vorgangs an. Die Ausgabe sieht dann ungefähr so aus:done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
Wenn der Vorgang zu lange dauert, können Sie ihn abbrechen. Weitere Informationen finden Sie unter Lang andauernden Sicherungsvorgang abbrechen.
Clientbibliotheken
Im folgenden Codebeispiel werden alle laufenden Vorgänge zum Erstellen von Sicherungen (Vorgänge mit CreateBackupMetadata
) und zum Kopieren von Sicherungen (Vorgänge mit CopyBackupMetadata
) aufgelistet, die nach einer bestimmten Datenbank gefiltert sind.
Informationen zur Filtersyntax finden Sie im Parameter filter
in backupOperations.list
.
C++
C#
So listen Sie alle Vorgänge zum Erstellen von Sicherungen auf:
So listen Sie alle Sicherungsvorgänge zum Kopieren auf:
Einfach loslegen (Go)
Java
Node.js
PHP
Python
Ruby
So listen Sie alle Vorgänge zum Erstellen von Sicherungen auf:
So listen Sie alle Sicherungsvorgänge zum Kopieren auf:
Sicherungsvorgang abbrechen
Console
Das Abbrechen eines Sicherungsvorgangs wird von der Google Cloud Console nicht unterstützt. Mit der Google Cloud CLI, REST oder RPC API können Sie jedoch Vorgänge abbrechen, die zu lange dauern. Weitere Informationen finden Sie unter Lang andauernden Instanzvorgang abbrechen.
gcloud
Verwenden Sie gcloud spanner operations cancel
, um einen Sicherungsvorgang abzubrechen.
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME \ --database=DATABASE_NAME --backup=BACKUP
Ersetzen Sie Folgendes:
- OPERATION_ID durch die Vorgangs-ID der Sicherung.
- INSTANCE_NAME durch den Namen der Spanner-Instanz.
- DATABASE_NAME durch den Namen der Datenbank.
- BACKUP durch den Namen der Sicherung.
Clientbibliotheken
Mit dem folgenden Codebeispiel wird eine Sicherung erstellt, der Sicherungsvorgang abgebrochen und dann gewartet, bis der Sicherungsvorgang done
ist. Wenn der Vorgang erfolgreich abgebrochen wurde, werden die cancelTime
und eine Fehlermeldung zurückgegeben. Wenn der Sicherungsvorgang vor dem Abbruch abgeschlossen wurde, ist die Sicherung vorhanden und Sie können sie löschen.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Sicherungsinformationen abrufen
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Spanner-Instanzen auf.
Klicken Sie auf die Instanz mit der Datenbank, deren Sicherungsinformationen Sie aufrufen möchten.
Klicken Sie auf die Datenbank, um die zugehörige Übersichtsseite zu öffnen.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung. Sie können Sicherungsinformationen für die ausgewählte Sicherung in der Datenbank ansehen.
gcloud
Verwenden Sie gcloud spanner backups describe
, um Informationen zu einer Sicherung abzurufen:
gcloud spanner backups describe example-db-backup-6 --instance=test-instance
Die Ausgabe sieht dann ungefähr so aus:
createTime: '2020-02-04T02:05:43.920377Z'
database: projects/my-project/instances/test-instance/databases/example-db
expireTime: '2021-02-04T02:05:43.268327Z'
name: projects/my-project/instances/test-instance/backups/example-db-backup-6
sizeBytes: '1000000000'
state: READY
Clientbibliotheken
Clientbibliotheken unterstützen keine Sicherungsinformationen für eine einzelne Sicherung. Sie können jedoch alle Sicherungen und die zugehörigen Informationen in einer Instanz auflisten. Weitere Informationen finden Sie unter Sicherungen in einer Instanz auflisten.
Sicherungen in einer Instanz auflisten
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Spanner-Instanzen auf.
Klicken Sie auf Ihre Instanz, um alle verfügbaren Sicherungen und deren Informationen anzusehen.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung.
gcloud
Verwenden Sie gcloud spanner backups list
, um alle Sicherungen in einer Instanz aufzulisten:
gcloud spanner backups list --instance=test-instance
Die Ausgabe sieht dann ungefähr so aus:
BACKUP SOURCE_DATABASE CREATION_TIME EXPIRATION_TIME STATE BACKUP_SIZE_IN_BYTES IN_USE_BY
example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2021-02-04T02:05:43.268327Z CREATING
example-db-backup-4 example-db 2020-02-04T01:21:20.873839Z 2021-02-04T01:21:20.530151Z READY 32
example-db-backup-3 example-db 2020-02-03T23:59:18.936433Z 2021-02-03T23:59:18.203083Z READY 32
example-db-backup-5 example-db 2020-02-03T23:48:06.259296Z 2021-02-03T23:48:05.830937Z READY 32
example-db-backup-2 example-db 2020-01-30T19:49:00.616338Z 2021-01-30T19:49:00.283917Z READY 32
example-db-backup-1 example-db 2020-01-30T19:47:09.492551Z 2021-01-30T19:47:09.097804Z READY 32
Wenn Sie die Liste einschränken möchten, geben Sie das Flag --filter
an. Wenn Sie beispielsweise die Liste so filtern möchten, dass nur die Sicherungen angezeigt werden, die noch erstellt werden, fügen Sie --filter="state:creating"
hinzu. Informationen zur Filtersyntax finden Sie unter gcloud topic filters
.
Informationen zum Filtern von Sicherungen finden Sie im Feld filter
unter ListBackupsRequest
.
Clientbibliotheken
Im folgenden Codebeispiel werden die Sicherungen in einer bestimmten Instanz aufgelistet.
Sie können die Liste der zurückgegebenen Sicherungen filtern (z. B. nach Name, Versionszeit oder Ablaufzeit der Sicherung), indem Sie einen Filterausdruck angeben. Informationen zur Filtersyntax finden Sie im Abschnitt zum Parameter filter
in Sicherungen auflisten.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Ablauffrist für Sicherungen aktualisieren
Console
Rufen Sie in der Google Cloud Console die Seite „Spanner-Instanzen“ auf.
Klicken Sie auf die Instanz, die die Datenbank enthält, um die zugehörige Übersichtsseite zu öffnen.
Klicken Sie auf die Datenbank, um die zugehörige Übersichtsseite zu öffnen.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung.
Klicken Sie auf die Schaltfläche Aktionen für die ausgewählte Sicherung und wählen Sie Metadaten aktualisieren aus.
Wählen Sie das neue Ablaufdatum aus.
Klicken Sie auf Aktualisieren.
gcloud
Verwenden Sie gcloud spanner backups update-metadata
, um das Ablaufdatum einer Sicherung zu aktualisieren:
gcloud spanner backups update-metadata example-db-backup-6 \
--instance=test-instance --expiration-date=2020-05-05T00:00:00Z
Die Ausgabe sieht dann ungefähr so aus:
createTime: '2020-02-04T02:05:43.920377Z'
database: projects/my-project/instances/test-instance/databases/example-db
expireTime: '2020-05-05T00:00:00Z'
name: projects/my-project/instances/test-instance/backups/example-db-backup-6
sizeBytes: '1000000000'
state: READY
Clientbibliotheken
Im folgenden Codebeispiel wird die Ablaufzeit einer Sicherung abgerufen und verlängert.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Sicherung löschen
Console
Rufen Sie in der Google Cloud Console die Seite „Spanner-Instanzen“ auf.
Klicken Sie auf die Instanz, die die Datenbank enthält, um die zugehörige Übersichtsseite zu öffnen.
Klicken Sie auf die Datenbank, um die zugehörige Übersichtsseite zu öffnen.
Klicken Sie im Navigationsbereich auf Backup/Wiederherstellung.
Klicken Sie auf die Schaltfläche Aktionen für die ausgewählte Sicherung und wählen Sie dann Löschen aus.
Geben Sie die Sicherungs-ID ein.
Klicken Sie auf Löschen.
gcloud
Verwenden Sie zum Löschen einer Sicherung gcloud spanner backups delete
:
gcloud spanner backups delete example-db-backup-1 --instance=test-instance
Sie müssen den Vorgang bestätigen:
You are about to delete backup [example-db-backup-1]
Do you want to continue (Y/n)? Y
Deleted backup [example-db-backup-1].
Clientbibliotheken
Im folgenden Codebeispiel wird eine Sicherung gelöscht und geprüft, ob sie gelöscht wurde. Durch das Löschen einer noch laufenden Sicherung wird die Sicherungsressource entfernt und der lang andauernde Sicherungsvorgang abgebrochen.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby