Esta página descreve as operações de restauro do Spanner e explica como restaurar uma base de dados. Para mais informações sobre a restauração de bases de dados no Spanner, consulte o artigo Vista geral da restauração.
Pode restaurar uma base de dados do Spanner através do seguinte:
- Na Google Cloud consola.
- Usando a Google Cloud CLI.
- Usando as bibliotecas cliente.
- Usando as APIs REST ou RPC.
Antes de começar
Os exemplos da CLI gcloud nesta página baseiam-se nos seguintes pressupostos:
- Já configurou a CLI gcloud para utilização com o Spanner. Se estiver a usar a CLI do Google Cloud com o Spanner pela primeira vez, consulte o artigo Introdução ao Spanner com a CLI do Google Cloud.
Configurou a CLI do Google Cloud com o seu projeto. Por exemplo:
gcloud config set core/project PROJECT_ID
Tem uma instância com o nome
test-instance
e uma base de dados com o nomeexample-db
.
-
Para receber as autorizações de que precisa para restaurar uma base de dados a partir de uma cópia de segurança, peça ao seu administrador para lhe conceder a função de IAM Administrador de restauro do Cloud Spanner (
roles/spanner.restoreAdmin
) na instância.
Restaure uma base de dados a partir de uma cópia de segurança
Consola
Aceda à página Instâncias do Spanner na Google Cloud consola.
Clique na instância que contém a base de dados para abrir a respetiva página Vista geral.
Clique na base de dados para abrir a respetiva página Vista geral.
No painel de navegação, clique em Cópia de segurança/restauro.
Clique no botão Ações da cópia de segurança selecionada e, de seguida, selecione 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 demasiado tempo, pode cancelá-la. Para mais informações, consulte o artigo Cancele uma operação de instância de execução prolongada.
gcloud
Para restaurar uma base 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-encryption
Notas de utilização:
- O comando é devolvido imediatamente devido à flag
--async
. Sem a flag, o comando aguarda a conclusão da operação de restauro. - Se as instâncias de origem e de destino forem diferentes, têm de ter a mesma configuração de instância.
- Se a base de dados de destino já existir, a operação falha.
- Os valores possíveis para
encryption_type
sãoUSE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se usarCUSTOMER_MANAGED_ENCRYPTION
, tem de especificar umkmsKeyName
.
Bibliotecas cliente
O exemplo de código seguinte restaura uma base de dados a partir de uma determinada cópia de segurança e aguarda que a operação de restauro (uma operação com RestoreDatabaseMetadata
) seja concluída. A base de dados restaurada é criada na mesma instância que a cópia de segurança. Quando estiver concluído, o exemplo obtém e imprime algumas informações de restauro
da base de dados.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby