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 um banco de dados do Spanner usando:
- No console do Google Cloud.
- Usando a CLI do Google Cloud.
- usando bibliotecas de cliente.
- Usando 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ê não sabe como 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
Você já tem uma instância chamada
test-instance
e um banco de dados chamadoexample-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ê o Administrador de restauração do Cloud Spanner (
roles/spanner.restoreAdmin
) no IAM da instância.
Restaurar um banco de dados a partir de um backup
Console
Acesse a página "Instâncias do Spanner" no Console do Google Cloud.
Clique na instância que contém o banco de dados para abrir a página Visão geral correspondente.
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.
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ê pode 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-encryption
Observações sobre o uso:
- O comando retorna imediatamente por causa da sinalização
--async
. Sem a sinalização, 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_type
sãoUSE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_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 determinado backup e aguarda
A operação de restauração (uma operação com RestoreDatabaseMetadata
)
a serem concluídas. 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