In questa pagina viene descritto come utilizzare il recupero point-in-time (PITR) per ripristinare
dell'istanza Cloud SQL principale.
Per scoprire di più sul PITR, consulta:
Recupero point-in-time (PITR) .
Archiviazione dei log per PITR
Il 31 maggio 2024 abbiamo lanciato la memorizzazione dei log delle transazioni per PITR in
Cloud Storage . Da questo lancio, si applicano le seguenti condizioni:
Tutte le istanze Cloud SQL che crei con PITR abilitato prima di questa data archiviano su disco i log delle transazioni utilizzati per il PITR.
Tutte le istanze Cloud SQL create con PITR abilitato in questa data o in data successiva archiviano questi log in Cloud Storage.
Aggiornamento dei log delle transazioni
regolarmente e usano spazio di archiviazione. Cloud SQL elimina automaticamente i log delle transazioni con i backup automatici associati. Ciò accade dopo aver soddisfatto il valore impostato per il parametro transactionLogRetentionDays
. Per ulteriori informazioni su questo parametro, consulta Utilizzo di log e disco .
Per le istanze che archiviano i log delle transazioni solo su disco, puoi configurare Cloud SQL per l'archiviazione dei log su Cloud Storage disattivando e riattivando PITR. Non puoi spostare di nuovo i log da Cloud Storage su disco.
Per assicurarti che i log per la tua istanza siano archiviati in Cloud Storage anziché su disco, completa queste azioni:
Attenzione: se sposti i log delle transazioni dal disco a Cloud Storage, lo spostamento comporterà sia alcuni minuti di inattività sia la perdita dei log precedenti per il PITR. Il tempo di inattività è dovuto al fatto che le istanze devono essere riavviate e i log vengono cancellati quando disattivi PITR.
Log e utilizzo del disco
Cloud SQL genera regolarmente log che occupano spazio di archiviazione. Cloud SQL elimina automaticamente i log delle transazioni con i backup automatici associati. Ciò accade dopo aver soddisfatto il valore impostato per il parametro transactionLogRetentionDays
. Questo parametro specifica il numero di giorni in cui Cloud SQL conserva i log delle transazioni, compreso tra 1 e 7.
Per conoscere la quantità di disco utilizzata dai log delle transazioni, controlla la metrica bytes_used_by_data_type
per l'istanza. Il valore del tipo di dati restituisce la dimensione dei log delle transazioni sul disco. Per le istanze che archiviano i log delle transazioni utilizzati per il PITR su disco, Cloud SQL elimina ogni giorno i dati dal disco per soddisfare l'impostazione PITR di transactionLogRetentionDays
, come descritto in Conservazione dei backup automatici .
Se per l'istanza è abilitato PITR e se le dimensioni dei log delle transazioni sul disco sono la causa di un problema per l'istanza:
Puoi disattivare PITR e riabilitarlo per garantire che i log siano archiviati in Cloud Storage nella stessa regione dell'istanza. Tuttavia, tutti i log esistenti vengono eliminati, quindi non puoi eseguire un ripristino point-in-time prima dell'ora in cui hai riattivato il PITR.
Puoi aumentare la dimensione dello spazio di archiviazione dell'istanza, ma l'aumento delle dimensioni del log delle transazioni nell'utilizzo del disco potrebbe essere temporaneo.
Ti consigliamo di attivare gli aumenti automatici dello spazio di archiviazione per evitare problemi di archiviazione imprevisti. Questo suggerimento si applica solo se nell'istanza è abilitato PITR e i log sono archiviati su disco.
Se vuoi eliminare i log e recuperare lo spazio di archiviazione, puoi disattivare il PITR senza riattivarlo. Tuttavia, la riduzione dello spazio di archiviazione utilizzato non riduce le dimensioni del disco di cui è stato eseguito il provisioning per l'istanza.
I log vengono eliminati definitivamente una volta al giorno, non in modo continuo. Se imposti la conservazione dei log su due giorni, verranno conservati almeno due giorni di log e al massimo tre giorni. Ti consigliamo di impostare il numero di backup su uno in più rispetto ai giorni di conservazione dei log.
Ad esempio, se specifichi 7
per il valore del parametro transactionLogRetentionDays
, imposta il numero di retainedBackups
su 8
per il parametro backupRetentionSettings
.
Per saperne di più sul PITR, consulta Recupero point-in-time (PITR) .
Modello di recupero del database per PITR
Quando attivi
PITR su un'istanza, Cloud SQL imposta automaticamente il modello di recupero
dai database esistenti e successivi al modello di ripristino completo.
Attenzione : dopo aver abilitato PITR nell'istanza, non modificare il valore
il modello di recupero del database. Questo può interrompere
della catena di backup dei log delle transazioni e potresti non essere in grado di recuperare i dati dell'istanza
momento in cui il modello di recupero è stato impostato su semplice.
Per ulteriori informazioni sui modelli di recupero di SQL Server, consulta
Documentazione Microsoft .
Abilita PITR
Quando crei una nuova istanza nella console Google Cloud, lo strumento
backup viene attivata automaticamente.
La seguente procedura abilita il PITR su una
principale esistente .
Console
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Apri il menu Altre azioni per l'istanza
attivare il PITR e fare clic su Modifica .
In Personalizza la tua istanza , espandi la
Sezione Protezione dei dati .
Seleziona la casella di controllo Abilita recupero point-in-time .
Nel campo Giorni di log , inserisci il numero di giorni in cui conservare i log, compreso tra 1 e 7.
Fai clic su Salva .
gcloud
Visualizza la panoramica dell'istanza:
gcloud sql instances describe INSTANCE_NAME
Se vedi enabled: false
nel
Sezione backupConfiguration
, abilita i backup pianificati:
gcloud sql instances patch INSTANCE_NAME \
--backup-start-time=HH:MM
Specifica il parametro backup-start-time
utilizzando l'opzione 24 ore
nel fuso orario UTC±00.
Attiva PITR:
gcloud sql instances patch INSTANCE_NAME \
--enable-point-in-time-recovery
Se attivi PITR su una
principale, puoi anche configurare il numero di giorni per cui
per conservare i log delle transazioni aggiungendo il seguente parametro:
--retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS
Conferma la modifica:
gcloud sql instances describe INSTANCE_NAME
Nella sezione backupConfiguration
, puoi vedere
pointInTimeRecoveryEnabled: true
se la modifica è andata a buon fine.
REST v1
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
PROJECT_ID : l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza
INSTANCE_NAME : il nome dell'istanza principale o di replica di lettura che stai configurando per l'alta disponibilità
START_TIME : l'ora (in ore e minuti)
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
PROJECT_ID : l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza
INSTANCE_NAME : il nome dell'istanza principale o di replica di lettura che stai configurando per l'alta disponibilità
START_TIME : l'ora (in ore e minuti)
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Apri il menu Altre azioni per l'istanza
da ripristinare e fai clic su Crea clone .
Se vuoi, nella pagina Crea un clone , aggiorna l'ID del
nuovo clone.
Seleziona Clona da un momento precedente .
Inserisci un'ora PITR.
Seleziona Tutti i database o specifica un nome per il database.
Se specifichi un nome di database, puoi selezionarne solo uno.
Per impostazione predefinita, il PITR è per tutti i database.
Fai clic su Crea clone .
gcloud
Crea un clone utilizzando PITR.
Sostituisci quanto segue:
SOURCE_INSTANCE_NAME - Il nome dell'istanza che stai
ripristino da.
NEW_INSTANCE_NAME : nome del clone.
TIMESTAMP : fuso orario UTC dell'istanza di origine in RFC
formato 3339. Ad esempio 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP '
Nota: per impostazione predefinita, il recupero point-in-time è per tutti
o Microsoft SQL Server. Facoltativamente, puoi specificare fino a un massimo
nome del database come segue: --database_names 'DATABASE'
.
REST v1
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
project-id : l'ID progetto
target-instance-id : l'ID istanza di destinazione
source-instance-id : l'ID dell'istanza di origine
restore-timestamp Il momento in cui eseguire il ripristino fino a
Nella richiesta JSON, puoi facoltativamente specificare fino a un nome di database specifico
quanto segue: "databaseNames": "my-database"
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone
Corpo JSON della richiesta:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
project-id : l'ID progetto
target-instance-id : l'ID istanza di destinazione
source-instance-id : l'ID dell'istanza di origine
restore-timestamp Il momento in cui eseguire il ripristino fino a
Nella richiesta JSON, puoi facoltativamente specificare fino a un nome di database specifico
quanto segue: "databaseNames": "my-database"
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone
Corpo JSON della richiesta:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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 "
}
Disattiva PITR
Console
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Apri il menu Altre azioni per l'istanza
da disattivare e seleziona Modifica .
In Personalizza la tua istanza , espandi la sezione Protezione dei dati
.
Deseleziona l'opzione Abilita recupero point-in-time .
Fai clic su Salva .
gcloud
Disattiva il recupero point-in-time:
gcloud sql instances patch INSTANCE_NAME \
--no-enable-point-in-time-recovery
Conferma la modifica:
gcloud sql instances describe INSTANCE_NAME
Nella sezione backupConfiguration
, puoi vedere
pointInTimeRecoveryEnabled: false
se la modifica è andata a buon fine.
REST v1
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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 "
}
Controlla la posizione di archiviazione dei log delle transazioni utilizzati per il PITR
Puoi verificare dove l'istanza Cloud SQL archivia la transazione
log utilizzati per PITR.
gcloud
per determinare se la tua istanza archivia i log per PITR
disco o Cloud Storage, utilizza il comando seguente:
gcloud sql instances describe INSTANCE_NAME
Sostituisci INSTANCE_NAME con il nome dell'istanza.
Nell'output del comando, il campo transactionalLogStorageState
fornisce informazioni sul punto in cui viene eseguita la transazione
i log per PITR vengono archiviati per l'istanza.
Il log delle possibili transazioni
sono i seguenti:
DISK
: l'istanza archivia i log delle transazioni
utilizzata per il PITR su disco.
CLOUD_STORAGE
: l'istanza archivia
log delle transazioni utilizzati per il PITR in Cloud Storage.
Imposta la conservazione dei log delle transazioni
Per impostare il numero di giorni in cui conservare i log delle transazioni:
Console
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Apri il menu Altre azioni per l'istanza
vuoi impostare il log delle transazioni e seleziona Modifica .
In Personalizza la tua istanza , espandi la sezione Protezione dei dati
.
Nella sezione Abilita recupero point-in-time , espandi
Opzioni avanzate .
Inserisci il numero di giorni per la conservazione dei log, compreso tra 1 e 7.
Fai clic su Salva .
gcloud
Modifica l'istanza per impostare il numero di giorni da conservare
log delle transazioni.
Sostituisci quanto segue:
INSTANCE-NAME : il nome dell'istanza che vuoi
e impostare il log delle transazioni.
DAYS-TO-RETAIN : il numero di giorni di log delle transazioni
da conservare. L'intervallo valido è compreso tra 1 e 7. Il valore predefinito è 7
se non specificato. Valido solo quando è abilitato il recupero point-in-time.
Conservare un numero maggiore di giorni di log delle transazioni richiede uno spazio di archiviazione maggiore
dimensioni.
gcloud sql instances patch INSTANCE-NAME \
--retained-transaction-log-days=DAYS-TO-RETAIN
REST v1
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
days-to-retain : il numero di giorni in cui i log delle transazioni devono essere conservati, compreso tra 1 e 7
project-id : l'ID progetto
instance-id : l'ID istanza
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
days-to-retain : il numero di giorni in cui i log delle transazioni devono essere conservati, compreso tra 1 e 7
project-id : l'ID progetto
instance-id : l'ID istanza
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Corpo JSON della richiesta:
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"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 "
}
Passaggi successivi