Esta página descreve as operações de restauração do Spanner e explica como restaurar um banco de dados. Para mais informações sobre a restauração de bancos de dados no Spanner, consulte Visão geral da restauração.
É possível restaurar o backup na instância de destino se ela usar a mesma edição ou uma edição de nível mais alto que a instância de backup de origem. Como alternativa, você pode restaurá-lo em qualquer instância com a mesma configuração de instância e uma edição igual ou de nível mais alto que a instância de origem.
É possível restaurar um banco de dados do Spanner usando o seguinte:
- No Google Cloud console.
- Usando a Google Cloud CLI.
- Usando bibliotecas de cliente.
- Usando as REST ou RPC APIs.
Antes de começar
Os exemplos da CLI gcloud nesta página fazem as seguintes suposições:
- Você já configurou a CLI gcloud para uso com o Spanner. Se você estiver começando a usar a CLI gcloud com o Spanner, consulte Primeiros passos com o Spanner usando a CLI gcloud.
- Você configurou a CLI gcloud com seu projeto. Exemplo:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Para receber as permissões necessárias para restaurar um banco de dados de um backup, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Todos:
Administrador de restauração do Cloud Spanner (
roles/spanner.restoreAdmin)
-
Todos:
Administrador de restauração do Cloud Spanner (
Restaurar um banco de dados a partir de um backup
Console
- Acesse a página Instâncias do Spanner no Google Cloud console.
Acessar a página Instâncias do Spanner
Clique na instância que contém o banco de dados para abrir a página Visão geral.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/Restauração.
Clique no botão Ações do backup selecionado e selecione Restaurar.
Selecione uma instância de destino compatível e nomeie o novo banco de dados.
Clique no botão Restaurar.
Para verificar o progresso da operação, consulte o indicador de progresso, conforme mostrado na página de operações:
Se a operação demorar muito, você poderá cancelá-la. Para mais informações, consulte Cancelar uma operação de instância de longa duração .
gcloud
Para restaurar um banco de dados, use 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-encryptionObservações sobre o uso:
- O comando retorna imediatamente por causa da sinalização
--async. Sem a flag, o comando aguardará a conclusão da operação de restauração. - Se as instâncias de origem e de destino forem diferentes, elas precisarão ter a mesma configuração de instância.
- Se o banco de dados de destino já existir, a operação falhará.
- Os valores possíveis para
encryption_typesãoUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONouCUSTOMER_MANAGED_ENCRYPTION. Se você usarCUSTOMER_MANAGED_ENCRYPTION, especifique umkmsKeyName.
Bibliotecas de cliente
O exemplo de código a seguir restaura um banco de dados de um
backup especificado e aguarda a conclusão da operação de restauração (uma operação com
RestoreDatabaseMetadata) para
concluir. O banco de dados restaurado é criado na mesma instância do backup. Quando concluído, o exemplo recupera e imprime algumas informações de restauração do banco de dados.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby