Questa pagina descrive le operazioni di ripristino di Spanner e spiega come ripristinare un database. Per saperne di più sul ripristino del database in Spanner, consulta la panoramica del ripristino.
Puoi ripristinare il backup nell'istanza di destinazione se utilizza la stessa versione o una versione di livello superiore dell'edizione dell'istanza di backup di origine. In alternativa, puoi ripristinarlo in qualsiasi istanza con la stessa configurazione dell'istanza e una versione di livello uguale o superiore a quella dell'istanza di origine.
Puoi ripristinare un database Spanner utilizzando:
- Nella Google Cloud console.
- Utilizzando Google Cloud CLI.
- Utilizzando le librerie client.
- Utilizzando le REST o RPC API.
Prima di iniziare
Gli esempi di gcloud CLI in questa pagina presuppongono quanto segue:
- Hai già configurato gcloud CLI per l'utilizzo con Spanner. Se non hai mai utilizzato gcloud CLI con Spanner, consulta la pagina Introduzione a Spanner utilizzando gcloud CLI.
- Hai configurato gcloud CLI con il tuo progetto. Ad esempio:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Per ottenere le autorizzazioni necessarie per ripristinare un database da un backup, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'istanza:
-
Tutti:
Amministratore del ripristino di Cloud Spanner (
roles/spanner.restoreAdmin)
-
Tutti:
Amministratore del ripristino di Cloud Spanner (
Ripristinare un database da un backup
Console
- Vai alla pagina Istanze Spanner nella Google Cloud console.
Vai alla pagina Istanze Spanner
Fai clic sull'istanza contenente il database per aprire la pagina Panoramica.
Fai clic sul database per aprire la pagina Panoramica.
Nel riquadro di navigazione, fai clic su Backup/Ripristino.
Fai clic sul pulsante Azioni per il backup selezionato, quindi seleziona Ripristina.
Seleziona un'istanza di destinazione compatibile e assegna un nome al nuovo database.
Fai clic sul pulsante Ripristina.
Per controllare lo stato di avanzamento dell'operazione, consulta l'indicatore di avanzamento, come mostrato nella pagina delle operazioni:
Se l'operazione richiede troppo tempo, puoi annullarla. Per saperne di più, consulta Annullare un'operazione di istanza a lunga esecuzione .
gcloud
Per ripristinare un database, utilizza gcloud spanner
databases restore:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryptionNote sull'utilizzo:
- Il comando viene restituito immediatamente a causa del flag
--async. Senza il flag, il comando attenderà il completamento dell'operazione di ripristino. - Se le istanze di origine e di destinazione sono diverse, devono avere la stessa configurazione dell'istanza.
- Se il database di destinazione esiste già, l'operazione non riuscirà.
- I valori possibili per
encryption_typesonoUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONoCUSTOMER_MANAGED_ENCRYPTION. Se utilizziCUSTOMER_MANAGED_ENCRYPTION, devi specificare unkmsKeyName.
Librerie client
Il seguente esempio di codice ripristina un database da un
backup specificato e attende il completamento dell'operazione di ripristino (un'operazione con
RestoreDatabaseMetadata)
Il database ripristinato viene creato nella stessa istanza del backup. Al termine, l'esempio recupera e stampa alcune informazioni di ripristino dal database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby