Nesta página, descrevemos as operações de restauração do Spanner e explicamos como restaurar um banco de dados. Para mais informações sobre a restauração de banco de dados no Spanner, consulte a Visão geral da restauração.
É possível restaurar um banco de dados do Spanner usando o seguinte:
- No console do Google Cloud .
- Usando a Google Cloud CLI.
- usando bibliotecas de cliente.
- Como usar as APIs REST ou RPC.
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 Google Cloud CLI com o Spanner, consulte Primeiros passos com o Spanner usando a Google Cloud CLI.
- Você configurou a Google Cloud CLI 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/Restaurar.
Clique no botão Ações do backup selecionado e escolha Restaurar.
Preencha o formulário e 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, precisará especificar umkmsKeyName.
Bibliotecas de cliente
O exemplo de código a seguir restaura um banco de dados de um
backup específico e aguarda a conclusão da operação de restauração (uma operação com
RestoreDatabaseMetadata). O banco de dados restaurado é criado na mesma instância do
backup. Depois de concluída, a amostra recupera e imprime algumas informações de restauração do banco de dados.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby