Auf dieser Seite wird gezeigt, wie Sie mit der Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) Ihre primäre Cloud SQL-Instanz wiederherstellen.
Weitere Informationen zu PITR finden Sie unter PITR .
Logspeicher für PITR
PITR verwendet Transaktionslogs. Diese Logs werden regelmäßig aktualisiert und belegen Speicherplatz. Sie werden automatisch mit der zugehörigen automatischen Sicherung gelöscht. Dies erfolgt grundsätzlich nach ca. sieben Tagen.
Wenn die Größe der Transaktionslogs für die Instanz ein Problem darstellt:
Sie können die Speichergröße der Instanz erhöhen, die erhöhte Speichernutzung der Größe des Transaktionslogs könnte jedoch nur temporär sein.
Wir empfehlen die Aktivierung von
automatischen Speichererweiterungen , um unerwartete Speicherplatzprobleme zu vermeiden.
Sie können PITR deaktivieren, wenn Sie Logs löschen und Speicherplatz wiederherstellen möchten. Durch Reduzierung des verwendeten Speicherplatzes wird der für die Instanz bereitgestellte Speicher nicht verringert.
Die Logs werden einmal täglich, nicht kontinuierlich gelöscht. Das Festlegen der Logaufbewahrung auf zwei Tage bedeutet, dass mindestens zwei Tage an Logs und höchstens Logs von drei Tagen aufbewahrt werden. Wir empfehlen, die Anzahl der Sicherungen auf eine mehr als die Anzahl von Tagen für die Logaufbewahrung festzulegen, um eine Mindestanzahl von Tagen für die Logaufbewahrung zu gewährleisten.
Datenbankwiederherstellungsmodell für PITR
Wenn Sie PITR für eine Instanz aktivieren, legt Cloud SQL das Wiederherstellungsmodell der vorhandenen und nachfolgenden Datenbanken automatisch auf das vollständige Wiederherstellungsmodell fest.
Achtung: Nachdem Sie PITR für Ihre Instanz aktiviert haben, sollten Sie das Datenbankwiederherstellungsmodell nicht auf "Einfach" ändern. Dies könnte die Sicherungskette des Transaktionslogs beeinträchtigen und Sie können die Instanzdaten möglicherweise nicht bis zu dem Zeitpunkt wiederherstellen, an dem das Wiederherstellungsmodell auf "Einfach" gesetzt wurde.
Weitere Informationen zu SQL Server-Wiederherstellungsmodellen finden Sie in der Microsoft-Dokumentation .
PITR aktivieren
Wenn Sie in der Google Cloud Console eine neue Instanz erstellen, ist die Einstellung
Automatische Sicherungen automatisch aktiviert.
Mit dem folgenden Verfahren wird PITR für eine vorhandene Instanz aktiviert.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Rufen Sie das Dreipunkt-Menü der Instanz auf, für die Sie PITR aktivieren möchten, und klicken Sie auf Bearbeiten .
Maximieren Sie unter Instanz anpassen den Abschnitt Datenschutz .
Klicken Sie auf das Kästchen Wiederherstellung zu einem bestimmten Zeitpunkt aktivieren .
Maximieren Sie Erweiterte Optionen .
Geben Sie die Anzahl der Tage ein (von 1 bis 7), für die Logs aufbewahrt werden sollen.
Klicken Sie auf Speichern .
gcloud
Rufen Sie die Instanzübersicht auf:
gcloud sql instances describe INSTANCE_NAME
Wenn im Abschnitt backupConfiguration
enabled: false
angezeigt wird, aktivieren Sie geplante Sicherungen:
gcloud sql instances patch INSTANCE_NAME \
--backup-start-time=HH:MM
Dabei geben Sie den Parameter backup-start-time
im 24-Stunden-Zeitformat und in der Zeitzone UTC±00 an.
PITR aktivieren:
gcloud sql instances patch INSTANCE_NAME \
--enable-point-in-time-recovery
Wenn Sie PITR auf einer primären Instanz aktivieren, können Sie auch die Anzahl der Tage konfigurieren, für die Sie Transaktionslogs aufbewahren möchten. Fügen Sie dazu den folgenden Parameter hinzu:
--retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS
Bestätigen Sie die Änderung:
gcloud sql instances describe INSTANCE_NAME
Im Abschnitt backupConfiguration
wird pointInTimeRecoveryEnabled: true
angezeigt, ob die Änderung erfolgreich war.
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
INSTANCE_NAME : der Name der primären Instanz oder der Lesereplikatinstanz, die Sie für Hochverfügbarkeit konfigurieren
START_TIME : die Uhrzeit (in Stunden und Minuten)
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
INSTANCE_NAME : der Name der primären Instanz oder der Lesereplikatinstanz, die Sie für Hochverfügbarkeit konfigurieren
START_TIME : die Uhrzeit (in Stunden und Minuten)
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Rufen Sie das Dreipunkt-Menü der Instanz auf, die Sie wiederherstellen möchten, und klicken Sie auf Klon erstellen .
Aktualisieren Sie optional auf der Seite Klon erstellen die ID des neuen Klons.
Wählen Sie Von einem früheren Zeitpunkt klonen aus.
Geben Sie eine PITR-Zeit ein.
Wählen Sie Alle Datenbanken aus oder geben Sie einen Datenbanknamen an.
Wenn Sie einen Datenbanknamen angeben, kann nur einer ausgewählt werden.
Standardmäßig gilt PITR für alle Datenbanken.
Klicken Sie auf Klon erstellen .
gcloud
Erstellen Sie mit PITR einen Klon.
Ersetzen Sie Folgendes:
SOURCE_INSTANCE_NAME : der Name der Instanz, von der aus Sie wiederherstellen möchten.
NEW_INSTANCE_NAME : der Name für den Klon.
TIMESTAMP : die UTC-Zeitzone für die Quellinstanz im Format RFC 3339. Beispiel: 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP '
Hinweis: Standardmäßig gilt die Wiederherstellung zu einem bestimmten Zeitpunkt für alle Datenbanken. Optional können Sie bis zu einen bestimmten Datenbanknamen angeben: --database_names 'DATABASE'
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
restore-timestamp der Zeitpunkt, zu dem wiederhergestellt werden soll
In der JSON-Anfrage können Sie optional bis zu einen bestimmten Datenbanknamen angeben: "databaseNames": "my-database"
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
restore-timestamp der Zeitpunkt, zu dem wiederhergestellt werden soll
In der JSON-Anfrage können Sie optional bis zu einen bestimmten Datenbanknamen angeben: "databaseNames": "my-database"
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
PITR deaktivieren
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Rufen Sie das Dreipunkt-Menü der Instanz auf, die Sie deaktivieren möchten, und wählen Sie Bearbeiten aus.
Maximieren Sie unter Instanz anpassen den Abschnitt Datenschutz .
Entfernen Sie das Häkchen von der Option Wiederherstellung zu einem bestimmten Zeitpunkt aktivieren .
Klicken Sie auf Speichern .
Auf der Seite Übersicht für die Instanz wird unter Konfiguration die PITR-Einstellung als deaktiviert aufgeführt.
gcloud
Deaktivieren Sie die Wiederherstellung zu einem bestimmten Zeitpunkt:
gcloud sql instances patch INSTANCE_NAME \
--no-enable-point-in-time-recovery
Bestätigen Sie die Änderung:
gcloud sql instances describe INSTANCE_NAME
Im Abschnitt backupConfiguration
wird pointInTimeRecoveryEnabled: false
angezeigt, ob die Änderung erfolgreich war.
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Speicherort von Transaktionslogs prüfen, die für PITR verwendet werden
Sie können prüfen, wo Ihre Cloud SQL-Instanz die für PITR verwendeten Transaktionslogs speichert.
gcloud
Verwenden Sie den folgenden Befehl, um festzustellen, ob Ihre Instanz Logs für PITR auf dem Laufwerk oder in Cloud Storage speichert:
gcloud sql instances describe INSTANCE_NAME
Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz.
In der Ausgabe des Befehls enthält das Feld transactionalLogStorageState
Informationen dazu, wo die Transaktionslogs für PITR für die Instanz gespeichert sind.
Der zurückgegebene Speicherort des Transaktionslogs ist DISK
.
SQL Server-Instanzen können die für PITR verwendeten Transaktionslogs nur auf dem Laufwerk speichern.
Aufbewahrung von Transaktionslogs festlegen
So legen Sie die Anzahl der Tage fest, für die Transaktionslogs aufbewahrt werden sollen:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Rufen Sie das Dreipunkt-Menü der Instanz auf, für die Sie das Transaktionslog festlegen möchten, und wählen Sie Bearbeiten aus.
Maximieren Sie unter Instanz anpassen den Abschnitt Datenschutz .
Maximieren Sie im Abschnitt Wiederherstellung zu einem bestimmten Zeitpunkt aktivieren die Option Erweiterte Optionen .
Geben Sie die Anzahl der Tage ein (von 1 bis 7), für die Logs aufbewahrt werden sollen.
Klicken Sie auf Speichern .
gcloud
Legen Sie die Anzahl der Tage für die Aufbewahrung von Transaktionslogs für die Instanz fest.
Dabei gilt:
INSTANCE-NAME : der Name der Instanz, für die Sie das Transaktionslog festlegen möchten.
DAYS-TO-RETAIN : die Anzahl der Tage, für die Transaktionslogs beibehalten werden sollen. Der gültige Bereich liegt zwischen 1 und 7. Der Standardwert ist 7, wenn nicht anders angegeben. Nur gültig, wenn die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert ist.
Wenn Sie Transaktionslogs länger speichern möchten, ist mehr Speicherplatz erforderlich.
gcloud sql instances patch INSTANCE-NAME \
--retained-transaction-log-days=DAYS-TO-RETAIN
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
days-to-retain : Die Anzahl der Tage, die Transaktionslogs aufbewahrt werden sollen (von eins bis sieben)
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
days-to-retain : Die Anzahl der Tage, die Transaktionslogs aufbewahrt werden sollen (von eins bis sieben)
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
JSON-Text anfordern:
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
CLI angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch in der gcloud
CLI anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Nächste Schritte