Esta página oferece informações sobre as operações de backup do Spanner. Para mais informações sobre backups, consulte Visão geral dos backups.
Antes de começar
-
Para conseguir as permissões necessárias para gerenciar backups, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
roles/spanner.backupAdmin
) -
Crie e acesse backups:
Gravador de backup do Cloud Spanner (
roles/spanner.backupWriter
)
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
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 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
Copiar um backup
Console
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados que você quer copiar.
Clique no banco de dados.
No painel de navegação, clique em Backup/restauração.
Na tabela Backups, selecione Ações para o backup e clique em Copiar.
Preencha o formulário escolhendo uma instância de destino, fornecendo um nome e selecionando uma data de validade para a cópia de backup.
Clique em Copiar.
Para verificar o progresso de uma operação de cópia, consulte Verificar o progresso da operação.
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
É possível copiar um backup para uma instância diferente no mesmo projeto ou para uma instância diferente em um projeto diferente.
Copiar um backup no mesmo projeto
Se você optar por copiar o backup para uma instância diferente no mesmo projeto,
crie uma nova instância (ou tenha uma pronta) para o backup copiado. Não
é possível criar uma nova instância como parte da operação de cópia de backup. Além disso, o
tempo de expiração do backup precisa ser de pelo menos seis horas a partir do momento em que a
solicitação de cópia atual é processada e no máximo 366 dias após o create_time
do backup de origem.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- SOURCE_INSTANCE_ID: o ID da instância do Spanner de origem.
- SOURCE_DATABASE_ID: o ID do banco de dados do Spanner de origem.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_INSTANCE_ID: o ID da instância do Spanner de destino.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: o carimbo de data/hora de validade.
-
ENCRYPTION_TYPE:
o tipo de criptografia do backup criado.
Os valores válidos são
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, precisará especificar umkmsKeyName
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-instance=SOURCE_INSTANCE_ID \ --source-backup=SOURCE_BACKUP_NAME \ --destination-instance=DESTINATION_INSTANCE_ID \ --destination-backup=DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backups copy ` --source-instance=SOURCE_INSTANCE_ID ` --source-backup=SOURCE_BACKUP_NAME ` --destination-instance=DESTINATION_INSTANCE_ID ` --destination-backup=DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-instance=SOURCE_INSTANCE_ID ^ --source-backup=SOURCE_BACKUP_NAME ^ --destination-instance=DESTINATION_INSTANCE_ID ^ --destination-backup=DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/PROJECT_ID/instances/SOURCE_INSTANCE_ID/databases/SOURCE_DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Copiar um backup em um projeto diferente
Se você optar por copiar o backup para um projeto diferente, será necessário ter outro projeto com a própria instância pronta para o backup copiado. Não é possível criar um
novo projeto como parte da operação de cópia de backup. Além disso, o
tempo de expiração do backup precisa ser de pelo menos seis horas a partir do momento em que a
solicitação de cópia atual é processada e no máximo 366 dias após o backup
de origem create_time
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- SOURCE_PROJECT_ID: o ID do projeto de origem.
- SOURCE_INSTANCE_ID: o ID da instância do Spanner de origem.
- SOURCE_DATABASE_ID: o ID do banco de dados do Spanner de origem.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_PROJECT_ID: o ID do projeto de destino.
- DESTINATION_INSTANCE_ID: o ID da instância do Spanner de destino.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: o carimbo de data/hora de validade.
-
ENCRYPTION_TYPE:
o tipo de criptografia do backup criado.
Os valores válidos são
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, precisará especificar umkmsKeyName
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-backup=projects/SOURCE_PROJECT_ID/instances/SOURCE_INSTANCE_ID/backups/SOURCE_BACKUP_NAME \ --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backups copy ` --source-backup=projects/SOURCE_PROJECT_ID/instances/SOURCE_INSTANCE_ID/backups/SOURCE_BACKUP_NAME ` --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-backup=projects/SOURCE_PROJECT_ID/instances/SOURCE_INSTANCE_ID/backups/SOURCE_BACKUP_NAME ^ --destination-backup=projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/SOURCE_PROJECT_ID/instances/SOURCE_INSTANCE_ID/databases/SOURCE_DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/DESTINATION_PROJECT_ID/instances/DESTINATION_INSTANCE_ID/backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Para verificar o progresso de uma operação de cópia, consulte Verificar o progresso da operação.
Bibliotecas de cliente
O exemplo de código abaixo copia um backup existente. É possível copiar o backup
para uma instância em uma região ou projeto diferente. Depois de concluído, o exemplo
recupera e imprime algumas informações sobre o backup copiado recém-criado,
como nome, tamanho, estado do backup e version_time
.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verificar o andamento da operação
Console
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados em que você quer conferir a operação de backup.
Clique no banco de dados.
No painel de navegação, clique em Operações. A página Operações mostra uma lista de operações em execução.
gcloud
Use gcloud spanner operations describe
para verificar o progresso de uma operação.
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A flag
--type
não diferencia maiúsculas de minúsculas.
Execute
gcloud spanner operations describe
:Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations describe OPERATION_ID \ --instance=INSTANCE_NAME \ --backup=BACKUP_NAME \
Windows (PowerShell)
gcloud spanner operations describe OPERATION_ID ` --instance=INSTANCE_NAME ` --backup=BACKUP_NAME `
Windows (cmd.exe)
gcloud spanner operations describe OPERATION_ID ^ --instance=INSTANCE_NAME ^ --backup=BACKUP_NAME ^
Você receberá uma resposta semelhante a esta:
done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
progress
na saída mostra a porcentagem da operação que foi concluída.Se a operação demorar muito, você pode cancelá-la. Para mais informações, consulte Cancelar uma operação de backup de longa duração.
Bibliotecas de cliente
O exemplo de código a seguir lista todas as operações em andamento para criar backups (operações
com CreateBackupMetadata
) e copiar backups
(operações com CopyBackupMetadata
)
filtradas por um determinado banco de dados.
Para mais informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
backupOperations.list
.
C++
C#
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Go
Java
Node.js
PHP
Python
Ruby
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Cancelar operação de backup
Console
O console do Google Cloud não oferece suporte para o cancelamento de uma operação de backup. No entanto, é possível cancelar operações que demoram muito usando a Google Cloud CLI, a API REST ou a API RPC. Para mais informações, consulte Cancelar uma operação de instância de longa duração.
gcloud
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A flag
--type
não diferencia maiúsculas de minúsculas.
Use
gcloud spanner operations cancel
para cancelar uma operação de backup.Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME \ --database=DATABASE_NAME --backup=BACKUP_NAME
Windows (PowerShell)
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME ` --database=DATABASE_NAME --backup=BACKUP_NAME
Windows (cmd.exe)
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --backup=BACKUP_NAME
Bibliotecas de cliente
O exemplo de código a seguir cria um backup, cancela a operação de backup e
aguarda até que a operação de backup seja done
. Se a operação foi
cancelada, ela retorna o cancelTime
e uma mensagem de erro. Se a
operação de backup for concluída antes de ser cancelada, o backup vai existir e poderá ser excluído.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Receber informações de backup
Console
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados em que você quer ver as informações de backup.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração. É possível conferir as informações de backup do backup selecionado no banco de dados.
gcloud
Para receber informações sobre um backup,
use gcloud spanner backups describe
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância do Spanner.
- DATABASE_ID: o ID do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID expireTime: '2021-02-04T02:05:43.268327Z' name: projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME sizeBytes: '1000000000' state: READY
Bibliotecas de cliente
As bibliotecas de cliente não oferecem suporte para receber informações de backup de um único backup. No entanto, é possível listar todos os backups e as informações deles em uma instância. Para mais informações, consulte Listar backups em uma instância.
Listar backups em uma instância
Console
No console do Google Cloud , acesse a página Instâncias do Spanner.
Clique na sua instância para conferir todos os backups disponíveis e as informações deles.
No painel de navegação, clique em Backup/restauração.
gcloud
Para listar todos os backups em uma instância,
use gcloud spanner backups list
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups list --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups list --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups list --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
BACKUP SOURCE_DATABASE CREATION_TIME EXPIRATION_TIME STATE BACKUP_SIZE_IN_BYTES IN_USE_BY example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2021-02-04T02:05:43.268327Z CREATING example-db-backup-4 example-db 2020-02-04T01:21:20.873839Z 2021-02-04T01:21:20.530151Z READY 32 example-db-backup-3 example-db 2020-02-03T23:59:18.936433Z 2021-02-03T23:59:18.203083Z READY 32 example-db-backup-5 example-db 2020-02-03T23:48:06.259296Z 2021-02-03T23:48:05.830937Z READY 32 example-db-backup-2 example-db 2020-01-30T19:49:00.616338Z 2021-01-30T19:49:00.283917Z READY 32 example-db-backup-1 example-db 2020-01-30T19:47:09.492551Z 2021-01-30T19:47:09.097804Z READY 32
Para limitar a lista, especifique a sinalização --filter
. Por exemplo, para filtrar a lista
e incluir apenas os backups que ainda estão sendo criados, adicione
--filter="state:creating"
. Para informações sobre a sintaxe do filtro, consulte gcloud topic filters
.
Para informações sobre como filtrar backups, consulte o campo filter
em ListBackupsRequest
.
Bibliotecas de cliente
O exemplo de código a seguir lista os backups em uma determinada instância.
É possível filtrar a lista de backups retornados (por exemplo, filtrar por nome, versão
ou tempo de expiração do backup) fornecendo uma expressão de filtro. Para
informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
List Backups.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Atualizar o período de validade do 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 Atualizar metadados.
Selecione a nova data de validade.
Clique em Atualizar.
gcloud
Para atualizar a data de validade de um backup,
use gcloud spanner backups update-metadata
:
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- BACKUP_ID: o ID de backup do Spanner.
- INSTANCE_ID: o ID da instância do Spanner.
- EXPIRATION_DATE: o carimbo de data/hora de validade.
- DATABASE_ID: o ID do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups update-metadata BACKUP_ID \ --instance=INSTANCE_ID \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups update-metadata BACKUP_ID ` --instance=INSTANCE_ID ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups update-metadata BACKUP_ID ^ --instance=INSTANCE_ID ^ --expiration-date=EXPIRATION_DATE
Você receberá uma resposta semelhante a esta:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID expireTime: '2020-05-05T00:00:00Z' name: projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_ID sizeBytes: '1000000000' state: READY
Bibliotecas de cliente
O exemplo de código a seguir recupera o tempo de expiração de um backup e o estende.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Excluir um backup
Quando você exclui um backup, o Spanner libera o armazenamento e todos os outros recursos associados a ele.
Se você excluir um backup que ainda está sendo criado, o Spanner também cancelará a operação de backup de longa duração.
A exclusão de um backup incremental pode não liberar espaço de armazenamento se um backup incremental mais recente depender dele. Para mais informações, consulte Visão geral dos backups.
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 Excluir.
Digite o ID do backup.
Clique em Excluir.
gcloud
Para excluir um backup,
use gcloud spanner backups delete
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
You are about to delete backup BACKUP_NAME Do you want to continue (Y/n)? Y Deleted backup BACKUP_NAME.
Bibliotecas de cliente
O exemplo de código a seguir exclui um backup e verifica se ele foi excluído.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
A seguir
Para saber mais sobre backups, consulte Visão geral dos backups.
Para criar backups, consulte Criar backups.