Sicherungen – Übersicht

Auf dieser Seite wird gezeigt, wie Sicherungen Ihrer Cloud SQL-Instanz funktionieren. Es wird erläutert, wie Sie Ihre Daten mithilfe von Sicherungen in derselben oder einer anderen Instanz wiederherstellen können.

Eine Schritt-für-Schritt-Anleitung zur Planung von Sicherungen und zur Erstellung von On-Demand-Sicherungen finden Sie unter On-Demand- und automatische Sicherungen erstellen und verwalten.

Eine Übersicht über das Wiederherstellen von Daten aus einer Sicherung in einer Instanz finden Sie unter Aus einer Sicherung wiederherstellen.

Das bieten Sicherungen

Mit Sicherungen können Sie verloren gegangene Daten in Ihrer Cloud SQL-Instanz wiederherstellen. Sie haben auch die Möglichkeit, aus einer Sicherung eine Instanz wiederherzustellen, bei der Probleme auftreten. Aktivieren Sie für jede Instanz, die wichtige Daten enthält, automatische Sicherungen. Durch Sicherungen werden Ihre Daten vor Verlust oder Schäden geschützt.

Was Sicherungen kosten

Standardmäßig speichert Cloud SQL für jede Instanz sieben automatische Sicherungen zusätzlich zu allen On-Demand-Sicherungen. Sie können festlegen, wie viele automatische Sicherungen beibehalten werden sollen. Der Sicherungsspeicher kostet weniger als andere Instanztypen.

Weitere Informationen finden Sie auf der Seite „Preise“.

Sicherungen im Vergleich zu Exporten

Sicherungen werden von Cloud SQL gemäß Aufbewahrungsrichtlinien verwaltet und getrennt von der Cloud SQL-Instanz gespeichert. Cloud SQL-Sicherungen unterscheiden sich von einem Export, der in Cloud Storage hochgeladen wird, wo Sie den Lebenszyklus verwalten. Sicherungen betreffen die gesamte Datenbank. Für Exporte können Sie bestimmte Inhalte auswählen.

Sicherungs- und Wiederherstellungsvorgänge können nicht verwendet werden, um eine Datenbank auf eine neuere Version zu aktualisieren. Daten können nur von einer Sicherung in einer Instanz mit der gleichen Datenbankversion wiederhergestellt werden.

Wenn Sie ein Upgrade auf eine neuere Version durchführen möchten, sollten Sie den Datenbank-Migrationsdienst verwenden oder Ihre Datenbank exportieren und dann in eine neue Cloud SQL-Instanz importieren.

Größe von Sicherungen

Cloud SQL-Sicherungen sind inkrementell. Sie enthalten nur Daten, die sich nach der letzten Sicherung geändert haben. Die älteste Sicherung hat eine ähnliche Größe wie die Datenbank, aber die Größe der nachfolgenden Sicherungen hängt von der Änderungsrate Ihrer Daten ab. Sobald die älteste Sicherung gelöscht wurde, wird die nächstältere Sicherung vergrößert, damit immer eine vollständige Sicherung vorhanden ist.

Sicherungstypen

In Cloud SQL gibt es zwei Sicherungstypen:

On-Demand-Sicherungen

Sie können jederzeit eine Sicherung erstellen. Dies kann nützlich für Sie sein, wenn Sie einen riskanten Vorgang in Ihrer Datenbank ausführen oder wenn Sie eine Sicherung benötigen und nicht auf den nächsten Sicherungszeitraum warten möchten. Sie können bedarfsorientierte Sicherungen für jede Instanz erstellen, unabhängig davon, ob automatische Sicherungen für diese Instanz aktiviert sind oder nicht.

Bedarfsorientierte Sicherungen werden nicht wie automatische Sicherungen automatisch gelöscht. Sie bleiben bestehen, bis Sie sie löschen oder bis ihre Instanz gelöscht wird. Da sie nicht automatisch gelöscht werden, können bedarfsorientierte Sicherungen langfristig Auswirkungen auf Ihre Abrechnungsgebühren haben, wenn Sie sie nicht löschen.

So rufen Sie den Status eines On-Demand-Sicherungsvorgangs auf:

  1. Verwenden Sie den Befehl gcloud sql operations list, um die Vorgangs-ID abzurufen.
  2. Verwenden Sie den Befehl gcloud sql operations describe, um den Status des Vorgangs abzurufen.
oder
  1. Verwenden Sie die REST API-Anfrage operations.list, um die Vorgangs-ID abzurufen.
  2. Verwenden Sie die REST API-Anfrage operations.get, um den Status des Vorgangs abzurufen.

Automatische Sicherungen

Für automatische Sicherungen gilt ein Sicherungszeitfenster von vier Stunden. Die Sicherungen werden während dieses Zeitraums gestartet. Planen Sie Sicherungen nach Möglichkeit so, dass sie durchgeführt werden, wenn Ihre Instanz die geringste Aktivität aufweist.

Automatische Sicherungen werden täglich durchgeführt, wenn die Instanz während des Sicherungszeitraums ausgeführt wird. Standardmäßig werden bis zu sieben letzte Sicherungen aufbewahrt. Sie können konfigurieren, wie viele automatisierte Sicherungen beibehalten werden sollen, von einer bis 365.

Automatische Sicherungen werden angehalten, wenn Ihre Instanz länger als 36 Stunden unterbrochen ist. Werte für die Aufbewahrung von Sicherungs- und Transaktionslogs können gegenüber der Standardeinstellung geändert werden. Mehr erfahren

Speicherort von Sicherungen

Für Sicherungen sind die folgenden Speicherorte verfügbar:

Standardspeicherorte für Sicherungen

Wenn Sie keinen Speicherort angeben, werden die Sicherungen an einem multiregionalen Standort gespeichert, der geografisch dem Standort Ihrer Cloud SQL-Instanz am nächsten ist. Beispiel: Wenn sich Ihre Cloud SQL-Instanz in us-central1 befindet, werden die Sicherungen standardmäßig am multiregionalen Speicherort us gespeichert. Ein Standardspeicherort wie australia-southeast1 liegt jedoch außerhalb eines multiregionalen Bereichs. Der nächstgelegene multiregionale Standort ist asia.

Benutzerdefinierte Speicherorte für Sicherungen

Mit Cloud SQL können Sie einen benutzerdefinierten Speicherort für Ihre Sicherungsdaten auswählen. Dies ist hilfreich, wenn Ihre Organisation Vorschriften zur Datenaufbewahrung einhalten muss, die Sie dazu verpflichten, Ihre Sicherungen innerhalb eines bestimmten geografischen Gebiets aufzubewahren. Wenn für Ihre Organisation diese Art von Anforderung besteht, wird wahrscheinlich eine Organisationsrichtlinie zur Beschränkung von Ressourcenstandorten verwendet. Sollten Sie in diesem Fall versuchen, einen geografischen Standort zu nutzen, der nicht der Richtlinie entspricht, wird auf der Seite Sicherungen eine entsprechende Warnung angezeigt. Bei einer solchen Warnung müssen Sie den Speicherort der Sicherung in einen gemäß der Richtlinie zulässigen Speicherort ändern.

Eine vollständige Liste der gültigen regionalen Werte finden Sie unter Instanzstandorte. Eine vollständige Liste multiregionaler Werte finden Sie unter Multi-regional locations.

Weitere Informationen finden Sie unter Benutzerdefinierten Speicherort für Sicherungen festlegen und Speicherorte für Sicherungen aufrufen.

Aufbewahrung von automatischen Sicherungs- und Transaktionslogs

Mit automatischen Sicherungen können Sie Cloud SQL-Instanzen wiederherstellen. Für die Wiederherstellung zu einer bestimmten Zeit wird eine Kombination aus automatischen Sicherungen und Transaktionslogs genutzt.

Während Transaktionslogs in Tagen gezählt werden, ist nicht garantiert, dass die automatischen Sicherungen an einer Tagesgrenze erfolgen. Für diese Aufbewahrungseinstellungen werden unterschiedliche Einheiten verwendet. Die automatische Sicherung ist optional und kann zwischen 1 und 365 Sicherungen festgelegt werden. Die Aufbewahrung der Transaktionslogs erfolgt in Tagen und kann zwischen einem und sieben betragen. Der Standardwert für beide ist 7.

Die unteren Grenzen sind für Testinstanzen nützlich, da dann Logs und Sicherungen schneller gelöscht werden. Bei Transaktionslogs wächst die Laufwerkgröße nicht so stark bei niedrigeren Grenzen. Bei höheren Werten für die automatische Sicherungsaufbewahrung ist die Wiederherstellung von einem weiter zurückliegenden Punkt möglich.

Die Logs werden einmal täglich, nicht kontinuierlich gelöscht. Wenn die Anzahl der Tage für die Logaufbewahrung mit der Anzahl der Sicherungen identisch ist, kann dies eine unzureichende Logaufbewahrung zur Folge haben. Wenn Sie beispielsweise die Logaufbewahrung auf 7 Tage und die Sicherungsaufbewahrung auf sieben Sicherungen festlegen, werden Logs von sechs bis sieben Tagen aufbewahrt.

Wir empfehlen, die Anzahl der Sicherungen mindestens auf eine mehr als die Anzahl von Tagen der Logaufbewahrung festzulegen, um eine Mindestanzahl von festgelegten Tagen für die Logaufbewahrung sicherzustellen.

Eine hohe Schreibaktivität in die Datenbank kann eine große Anzahl von Transaktionslogs erzeugen, die sehr viel Speicherplatz belegen können und zu einem Laufwerkwachstum für Instanzen führen, bei denen die automatische Speichererweiterung aktiviert ist. Wir empfehlen, bei der Bemessung des Instanzspeichers die Aufbewahrung von Transaktionslogs zu berücksichtigen.

Siehe Automatische Sicherungsaufbewahrung einrichten.

Siehe Aufbewahrung von Transaktionslogs festlegen.

Kann ich eine Sicherung exportieren?

Nein, Sie können Sicherungen nicht exportieren. Sie können nur Instanzdaten exportieren. Weitere Informationen finden Sie unter Daten aus Cloud SQL exportieren.

Spezielles Nutzerkonto für Sicherungen

Cloud SQL erstellt für jede Instanz den speziellen Datenbanknutzer cloudsqladmin mit einem eindeutigen, instanzspezifischen Passwort. Für automatische Sicherungen meldet sich Cloud SQL als Nutzer cloudsqladmin an.

Auswirkungen von Sicherungen auf Instanzvorgänge

Schreibvorgänge und andere Vorgänge werden durch Sicherungsvorgänge nicht beeinträchtigt.

Nicht geloggte Tabellen

Fehlerbehebung

Klicken Sie auf die Links in der Tabelle, um weitere Informationen zu erhalten:

Problem Mögliche Ursache Lösungsvorschlag
Aktueller Vorgangsstatus wird nicht angezeigt. Auf der Benutzeroberfläche wird nur Erfolg oder Fehler angezeigt. Verwenden Sie diese Datenbankbefehle, um mehr zu erfahren.
Der Urheber des Vorgangs kann nicht gefunden werden. Auf der Benutzeroberfläche wird nicht angezeigt, wer einen Vorgang gestartet hat. Verwenden Sie hierzu das Audit-Logging.
Nicht genügend Speicherplatz während der automatischen Sicherung. Die Instanz schöpft die Speicherkapazität des Laufwerks aus. Prüfen Sie die Größe des Dateisystems und das Kontingent.
Nach dem Löschen der Instanz kann keine Sicherung durchgeführt werden. Instanz wurde gelöscht. Erstellen Sie die Instanz neu aus einem Export oder wenden Sie sich an den Kundensupport innerhalb des Kulanzzeitraums.
Die automatische Sicherung scheint hängen geblieben zu sein. Die Sicherungszeit hängt von der Datenbankgröße ab. Wenden Sie sich an den Kundensupport, wenn Sie den Vorgang wirklich abbrechen müssen.
Die Wiederherstellung schlägt fehl. Die Dumpdatei kann Datenbanknutzer enthalten, die noch nicht vorhanden sind. Erstellen Sie vor der Wiederherstellung die Datenbanknutzer.
Vorgang ist für diese Instanz nicht gültig. Die Größe der Zielinstanz ist kleiner als die Quelle. Vergrößern Sie die Zielinstanz.
Erhöhen Sie die Anzahl der Tage für die Aufbewahrung automatischer Sicherungen. Nur sieben automatische Sicherungen werden aufbewahrt. Verwalten Sie Ihre eigenen manuellen Sicherungen.
Unbekannter Fehler bei fehlgeschlagener Sicherung. Mögliche Zeitüberschreitung bei der Sicherung. Prüfen Sie diese Flags.
Keine Benachrichtigung über Sicherungsfehler. Benachrichtigungen werden bei Sicherungsfehlern nicht unterstützt. Prüfen Sie den Status einer Sicherung unter Einsatz der REST API oder der gcloud-Befehle.
Der Status der Instanz wechselt zwischen "Fehler" und "Sicherung wiederherstellen" Zu viel Traffic oder zu viele offene Verbindungen. Prüfen Sie die autovacuum-Einstellungen und die Wiederholungslogik.
In einer Sicherung fehlen Daten. Nicht geloggte Tabellen werden nicht aus der Sicherung wiederhergestellt. Hinweise zu nicht geloggten Tabellen.

Aktueller Vorgangsstatus wird nicht angezeigt

Der Status eines Vorgangs wird in der Google Cloud Console nicht angezeigt.

Mögliche Ursache

Die Google Cloud Console meldet nur erfolgreiche oder fehlgeschlagene Vorgänge und gibt keine Warnungen zurück.

Lösungsvorschlag

Stellen Sie eine Verbindung zur Datenbank her und führen Sie SHOW WARNINGS aus.


Der Urheber des Vorgangs kann nicht gefunden werden

Sie möchten wissen, wer einen On-Demand-Sicherungsvorgang ausgelöst hat.

Mögliche Ursache

Auf der Seite "Instanzvorgänge" in der Google Cloud Console wird nicht angezeigt, wer einen Vorgang initiiert hat.

Lösungsvorschlag

Suchen Sie in den Logs und filtern Sie nach Text, um den Nutzer zu finden. Möglicherweise müssen Sie Audit-Logs für private Informationen verwenden. Zu den relevanten Logdateien gehören:

  • cloudsql.googleapis.com/postgres.log
  • cloudaudit.googleapis.com/activity ist möglicherweise ebenfalls verfügbar, wenn Cloud-Audit-Logs aktiviert sind.


Nicht genügend Speicherplatz während der automatischen Sicherung

Folgende Fehlermeldung wird angezeigt: [ERROR] InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written..

Mögliche Ursache

Die Instanz hat während einer automatischen Sicherung ein festes Limit erreicht. Während einer Sicherung können temporäre Dateien ein Volumen erreichen, das den verfügbaren Speicherplatz überschreitet.

Lösungsvorschlag

Prüfen Sie, ob das Laufwerk voll oder das Laufwerkskontingent aufgebraucht ist. Sie können die Laufwerkgröße manuell erhöhen oder die automatische Speichererweiterung aktivieren.


Nach dem Löschen der Instanz kann keine Sicherung durchgeführt werden

Nach dem Löschen der Instanz können Sie keine Sicherung mehr vornehmen.

Mögliche Ursache

Instanz wurde gelöscht.

Lösungsvorschlag

  • Der Kulanzzeitraum für eine Cloud SQL-Instanzbereinigung beträgt vier Tage. Während dieser Zeit kann der Kundensupport die Instanz neu erstellen. Nachdem die Instanzen dauerhaft gelöscht wurden, ist keine Datenwiederherstellung mehr möglich.
  • Wenn Sie einen Export durchgeführt haben, können Sie eine neue Instanz erstellen und dann die Daten importieren, um die Datenbank neu zu erstellen. Exporte werden in Cloud Storage geschrieben und Importe werden von dort gelesen.

Die automatische Sicherung ist hängen geblieben

Die automatische Sicherung bleibt viele Stunden hängen und kann nicht abgebrochen werden.

Mögliche Ursache

Sicherungen können je nach Datenbankgröße sehr lange dauern.

Lösungsvorschlag

Wenn Sie den Vorgang wirklich abbrechen müssen, können Sie den Kundensupport bitten, einen Neustart der Instanz zu erzwingen (force restart).


Die Wiederherstellung aus der Sicherung schlägt fehl

Ein Wiederherstellungsvorgang kann fehlschlagen, wenn ein oder mehrere Nutzer, auf die in der SQL-Dumpdatei verwiesen wird, nicht vorhanden sind.

Mögliche Ursache

Vor dem Wiederherstellen eines SQL-Dumps müssen alle Datenbanknutzer vorhanden sein, die Inhaber von Objekten sind oder Berechtigungen für Objekte in der gespeicherten Datenbank erhalten haben. Andernfalls werden die Objekte mit den ursprünglichen Inhaberrechten und/oder Berechtigungen nicht wiederhergestellt.

Lösungsvorschlag

Erstellen Sie die Datenbanknutzer vor der Wiederherstellung aus dem SQL-Dump.


Der Vorgang ist für diese Instanz nicht gültig

Ein API-Aufruf an instances.restoreBackup führt zu der Fehlermeldung HTTP Error 400: This operation isn't valid for this instance.

Mögliche Ursache

Sie können keine Wiederherstellung aus einer Sicherung einer Instanz vornehmen, deren Speichergröße (XX GB) kleiner als die Sicherungsgröße (YY GB) ist.

Lösungsvorschlag

Bearbeiten Sie die Zielinstanz, um ihre Speichergröße zu erhöhen.


Der Status der Instanz wechselt zwischen "Fehler" und "Sicherung wiederherstellen"

Eine Instanz löst wiederholt einen Fehler aus, weil der Status zwischen "Fehler" und "Sicherung wiederherstellen" wechselt. Versuche, nach der Wiederherstellung eine Verbindung zur Datenbank herzustellen und diese zu verwenden, schlagen fehl.

Mögliche Ursache

  • Möglicherweise sind zu viele offene Verbindungen vorhanden. Zu viele Verbindungen können durch Fehler verursacht werden, die bei einer Verbindung auftreten, wenn keine autovacuum-Einstellungen zum Bereinigen inaktiver Verbindungen vorhanden sind.
  • Ein Wechsel kann auftreten, wenn benutzerdefinierter Code Wiederholungslogik verwendet, die nach einigen Fehlern nicht beendet wird.
  • Möglicherweise ist zu viel Traffic vorhanden. Verwenden Sie Verbindungs-Pooling und andere Best Practices für Verbindungen.

Lösungsvorschlag

  1. Prüfen Sie, ob die Datenbank für autovacuum eingerichtet ist.
  2. Prüfen Sie, ob im benutzerdefinierten Code eine Verbindungswiederholungslogik eingerichtet ist.
  3. Reduzieren Sie den Traffic, bis die Datenbank wiederhergestellt ist, und erhöhen Sie ihn dann langsam wieder.

In einer Sicherung fehlen Daten

Sie stellen fest, dass Daten fehlen, wenn Sie einen Sicherungs-/Wiederherstellungsvorgang durchführen.

Mögliche Ursache

Tabellen wurden als nicht geloggt erstellt. Beispiel:

CREATE UNLOGGED TABLE ....

Diese Tabellen sind nicht in einer Wiederherstellung aus einer Sicherung enthalten:

  • Die Inhalte nicht geloggter Tabellen haben bei einer HA-Instanz keinen Failover.
  • Nicht geloggte Tabellen überstehen keine Postgres-Abstürze.
  • Nicht geloggte Tabellen werden nicht in Lesereplikate repliziert.
  • NICHT GELOGGTE Tabellen werden während der Sicherungswiederherstellung automatisch gelöscht.

Lösungsvorschlag

Die Lösung besteht darin, keine nicht geloggten Tabellen zu verwenden, wenn Sie diese Tabellen über eine Sicherung wiederherstellen möchten. Bei der Wiederherstellung aus einer Datenbank, die bereits nicht geloggte Tabellen enthält, können Sie die Datenbank in einer Datei speichern und die Daten aktualisieren, nachdem Sie die Dumpdatei in ALTER TABLE bis SET LOGGED in diesen Tabellen geändert haben.


Anzahl der Tage erhöhen, für die automatische Sicherungen aufbewahrt werden

Sie möchten die Anzahl der Tage für die Aufbewahrung automatischer Sicherungen von sieben auf 30 Tage oder länger erhöhen.

Mögliche Ursache

Es werden nur sieben Sicherungen aufbewahrt. Sicherungen werden aufgrund ihrer Größe und der Aufbewahrungskosten regelmäßig gelöscht. Leider bedeutet dies, dass die jeweils aktuell sichtbaren Sicherungen die einzigen automatischen Sicherungen sind, aus denen Sie wiederherstellen können.

Lösungsvorschlag

Wenn Sie Sicherungen unbegrenzt aufbewahren möchten, können Sie selbst eine On-Demand-Sicherung erstellen, da diese nicht auf dieselbe Weise wie automatische Sicherungen gelöscht wird. On-Demand-Sicherungen werden für unbegrenzte Zeit aufbewahrt. Das heißt, sie bleiben so lange erhalten, bis sie gelöscht werden oder die Instanz, zu der sie gehören, gelöscht wird. Da diese Art der Sicherung nicht automatisch gelöscht wird, kann sich dies auf die Abrechnung auswirken.


Unbekannter Fehler bei fehlgeschlagener Sicherung

Die Sicherung ist fehlgeschlagen und es wird Unknown error angezeigt.

Mögliche Ursache

Bei der Erstellung der Sicherung wurde das Zeitlimit von zehn Minuten erreicht. Für die automatische Sicherung ist ein Zeitlimit von zehn Minuten festgelegt und die Sicherung sollte in dieser Zeit abgeschlossen werden.

Lösungsvorschlag

Es gibt zwei Flags, die sich auf die Erstellung der Sicherung auswirken: checkpoint_timeout und checkpoint_completion_target. Zu Beginn der Sicherung wird der Prüfpunkt slow ausgeführt, der checkpoint_completion_target mit checkpoint_timeout multipliziert.

z. B. 900 sec * 0.9 sec = 810 sec = 13.5 min Aus diesem Grund tritt eine Zeitüberschreitung auf. Wenn Sie den Wert von checkpoint_completion_target verringern, wird das Problem in diesem Fall behoben.

Keine Benachrichtigung über Sicherungsfehler

Eine automatische Sicherung ist fehlgeschlagen und Sie haben keine E-Mail-Benachrichtigung erhalten.

Mögliche Ursache

Benachrichtigungen werden bei Sicherungsfehlern nicht unterstützt.

Wenn eine automatische Sicherung fehlschlägt, wird auf der Seite Details der Cloud SQL-Instanz die Meldung Operation error angezeigt.

Lösungsvorschlag

Sie können den Status einer Sicherung mit den Befehlen REST API oder gcloud ermitteln. Listen Sie beispielsweise zuerst die Sicherungen für eine Instanz auf und beschreiben Sie dann eine bestimmte Sicherung anhand ihrer ID:

gcloud sql --project=PROJECT_ID backups list --instance=INSTANCE_ID
gcloud sql --project=PROJECT_ID backups describe BACKUP-ID --instance=INSTANCE_ID

Nächste Schritte