É possível usar a recuperação pontual (PITR, na sigla em inglês) para restaurar as instâncias principais do Cloud SQL, estejam elas ativas ou excluídas. A PITR permite restaurar a instância para um momento específico. Uma recuperação pontual sempre cria uma nova instância. Não é possível realizar uma PITR em uma instância já existente.
O Cloud SQL oferece as seguintes opções para restaurar sua instância usando a PITR:
Para realizar uma PITR em uma instância indisponível ou excluída, você precisa encontrar o tempo de recuperação mais recente e mais antigo.
Executar uma PITR
Console
-
No console do Google Cloud , acesse a página Instâncias do Cloud SQL.
- Abra o menu "Mais ações"
para a instância a ser recuperada e clique em Criar clone. - Na página Criar um clone, é possível atualizar o ID do novo clone.
- Selecione Clonar de um momento anterior.
- Insira um horário de PITR.
- Selecione Todos os bancos de dados ou especifique um nome de banco de dados.
Se você especificar um nome de banco de dados, apenas um poderá ser selecionado. Por padrão, a PITR é para todos os bancos de dados. - Clique em Criar clone.
gcloud
Criar um clone usando a PITR.
Substitua:
- SOURCE_INSTANCE_NAME: nome da instância de que você está restaurando;
- NEW_INSTANCE_NAME: nome do clone;
- TIMESTAMP: fuso horário UTC para a instância de origem no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \ NEW_INSTANCE_NAME \ --point-in-time 'TIMESTAMP'
REST v1
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- restore-timestamp: o momento em que a restauração será interrompida.
Na solicitação JSON, você tem a opção de especificar até um nome de banco de dados específico como
o seguinte: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corpo JSON da solicitação:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
REST v1beta4
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- restore-timestamp: o momento em que a restauração será interrompida.
Na solicitação JSON, você tem a opção de especificar até um nome de banco de dados específico como
o seguinte: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corpo JSON da solicitação:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Executar uma PITR usando o backup vault
Se a instância do Cloud SQL estiver ativada para usar backups avançados, será possível realizar a recuperação pontual da instância usando o backup vault.
Console
No console do Google Cloud , acesse a página Instâncias do Cloud SQL.
Abra o menu de mais ações
para a instância que você quer recuperar e clique em Criar clone.Selecione Clonar de um momento anterior.
Insira um horário de PITR.
Clique em Criar clone.
gcloud
Para realizar uma PITR em uma instância do backup vault, encontre o
data-source do backup mais próximo do horário em que você quer realizar
a PITR. Para encontrar o backup, consulte
Listar todos os backups no backup vault de uma instância. Depois de identificar o backup, execute o seguinte comando para realizar a PITR:
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Substitua:
DATA_SOURCE: o caminho dodata-sourcepara a instância de origem mais próxima do carimbo de data/hora da PITR que você quer recuperar.TARGET_INSTANCE_NAME: o nome da nova instância criada pela operação de PITR.PITR_TIMESTAMP: o carimbo de data/hora UTC do registro de PITR da instância de origem para o qual você quer restaurar a instância, no formato RFC 3339. Por exemplo, 2025-11-15T16:19:00.094Z.TARGET_PROJECT: o ID do projeto da nova instância.REGION: a região da instância de destino. Esse campo é obrigatório se a fonte de dados da instância de origem estiver localizada em uma multirregião ou em uma região diferente da instância de origem. A região da instância de destino precisa ser igual à da instância de origem.
REST v1
Para realizar a recuperação pontual usando uma fonte de dados do backup vault, use o método instances.pointInTimeRestore com uma solicitação POST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto em que você quer criar a nova instância.
- DATASOURCE: a fonte de dados de backup e DR que você quer que o serviço use para a operação de restauração pontual.
- PITR_TIMESTAMP: o carimbo de data/hora UTC do registro de PITR da instância de origem para o qual você quer restaurar a instância, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME: o nome da instância criada pela operação de PITR.
- REGION: a região da instância de destino. Esse campo é obrigatório se a fonte de dados da instância de origem estiver localizada em uma multirregião. A região da instância de destino precisa ser igual à da instância de origem.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID:pointInTimeRestore
Corpo JSON da solicitação:
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
REST v1beta4
Para realizar a recuperação pontual usando uma fonte de dados do backup vault, use o método instances.pointInTimeRestore com uma solicitação POST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto em que você quer criar a nova instância.
- DATASOURCE: a fonte de dados de backup e DR que você quer que o serviço use para a operação de restauração pontual.
- PITR_TIMESTAMP: o carimbo de data/hora UTC do registro de PITR da instância de origem para o qual você quer restaurar a instância, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME: o nome da instância criada pela operação de PITR.
- REGION: a região da instância de destino. Esse campo é obrigatório se a fonte de dados da instância de origem estiver localizada em uma multirregião. A região da instância de destino precisa ser igual à da instância de origem.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID:pointInTimeRestore
Corpo JSON da solicitação:
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Realizar uma PITR entre projetos
Com os backups avançados, é possível restaurar uma instância do Cloud SQL para um projeto diferente daquele em que a instância de origem ou o backup vault está localizado.
A PITR entre projetos só é compatível com a CLI gcloud e as APIs REST.
Para realizar uma PITR entre projetos, siga um destes procedimentos:
Se você estiver usando a CLI gcloud, defina a flag
--projectcomo o projeto em que quer criar a instância de destino.Se você estiver usando APIs REST, defina o campo
PROJECT_IDcomo o projeto em que você quer criar a instância de destino.
Executar PITR em uma instância excluída
Para usar a PITR e restaurar uma instância excluída, você precisa de:
- o carimbo de data/hora da PITR (
timestamp) para o qual você quer restaurar a instância; - o nome da instância de destino
- o horário em que a instância de origem foi excluída (
source-instance-deletion-time)
É possível usar a PITR em uma instância excluída usando apenas a CLI gcloud ou a API Cloud SQL. Para mais informações, consulte Restaurar uma instância excluída usando uma PITR.
gcloud
Backup padrão
Encontrar sua janela de PITR
Para encontrar a janela de PITR da instância excluída, consulte o horário de recuperação mais antigo e mais recente da instância. É possível selecionar qualquer carimbo de data/hora nessa janela para realizar uma PITR.
Encontrar a exclusão da instância de origem
O source-instance-deletion-time e o log-retention-days da
instância excluída são armazenados com os backups retidos da instância após
a exclusão. Para encontrar uma lista de todos os backups disponíveis para a instância excluída, consulte
Listar backups retidos.
Depois de identificar o backup que você quer usar, use o comando
gcloud sql backups describe
para receber o source-instance-deletion-time.
Restaurar usando uma PITR
Para restaurar a instância excluída usando uma PITR, execute o seguinte comando:
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP
Substitua:
SOURCE_INSTANCE_NAME: o nome da instância de origem que você quer restaurar.NEW_INSTANCE_NAME: o nome da nova instância .PITR_TIMESTAMP: o carimbo de data/hora UTC do registro de PITR da instância de origem para o qual você quer restaurar a instância, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: o carimbo de data/hora UTC da hora em que a instância de origem foi excluída, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
Backup aprimorado
Encontrar sua janela de PITR
Para encontrar a janela de PITR da instância excluída, consulte o horário de recuperação mais antigo e mais recente da instância. É possível selecionar qualquer carimbo de data/hora nessa janela para realizar uma PITR.
Encontrar a fonte de dados
A fonte de dados da instância excluída é armazenada com os backups retidos da instância após a exclusão. Para encontrar esses valores para a instância excluída, consulte Listar todos os backups no backup vault da instância.
Restaurar usando uma PITR
Para restaurar a instância excluída usando uma PITR, execute o seguinte comando:
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Substitua:
DATA_SOURCE: o caminho dodata-sourcepara o backup mais próximo do carimbo de data/hora da PITR que você quer recuperar.TARGET_INSTANCE_NAME: o nome da nova instância criada pela operação de PITR.PITR_TIMESTAMP: o carimbo de data/hora UTC do registro de PITR da instância de origem para o qual você quer restaurar a instância, no formato RFC 3339. Por exemplo, 2025-11-15T16:19:00.094Z.TARGET_PROJECT: o ID do projeto da nova instância.REGION: a região da instância de destino. Esse campo será obrigatório se a fonte de dados da instância de origem estiver localizada em uma multirregião. A região da instância de destino precisa ser igual à da instância de origem.
REST v1
Encontrar sua janela de PITR
Para encontrar a janela de PITR da instância excluída, consulte o horário de recuperação mais antigo e mais recente da instância. É possível selecionar qualquer carimbo de data/hora nessa janela para realizar uma PITR.
Encontrar o horário de exclusão da instância de origem e os dias de retenção de registros
O source-instance-deletion-time e o log-retention-days da
instância excluída são armazenados com os backups retidos da instância após
a exclusão. Para encontrar esses valores para a instância excluída, consulte
Listar backups retidos.
Restaurar usando uma PITR
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto;
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- source-instance-deletion-time: o horário de exclusão da instância de origem
- restore-timestamp: o momento em que você quer restaurar a instância.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corpo JSON da solicitação:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
REST v1beta4
Encontrar sua janela de PITR
Para encontrar a janela de PITR da instância excluída, consulte o horário de recuperação mais antigo e mais recente da instância. É possível selecionar qualquer carimbo de data/hora nessa janela para realizar a PITR.
Encontrar o horário de exclusão da instância de origem e os dias de retenção de registros
O source-instance-deletion-time e o log-retention-days da
instância excluída são armazenados com os backups retidos da instância após
a exclusão. Para encontrar esses valores para a instância excluída, consulte
Listar backups retidos.
Restaurar usando a PITR
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto;
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- source-instance-deletion-time: o horário de exclusão da instância de origem
- restore-timestamp: o momento em que você quer restaurar a instância.
Na solicitação JSON, você tem a opção de especificar até um nome de banco de dados específico como
o seguinte: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corpo JSON da solicitação:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Conferir o tempo de recuperação mais antigo e mais recente
Para uma instância disponível, é possível executar uma PITR para qualquer carimbo de data/hora na janela de PITR da instância. A janela de PITR começa no horário de recuperação mais antigo e termina no horário de recuperação mais recente. Se a instância não estiver disponível e os registros dela estiverem armazenados no Cloud Storage ou se a instância tiver sido excluída e tiver a retenção de PITR ativada, será possível recuperar o tempo de recuperação mais antigo e mais recente e executar a PITR para qualquer carimbo de data/hora nessa janela. Em todos os casos, é possível restaurar a instância em uma zona principal ou secundária diferente fornecendo valores para as zonas preferenciais.
gcloud
Instância indisponível
Para conferir o momento mais antigo e o mais recente em que é possível recuperar uma instância do Cloud SQL que não está disponível, execute o seguinte comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
Substitua:
INSTANCE_NAME: o nome da instância em que você quer encontrar o tempo de recuperação mais recente.
Instância excluída
Para conferir o momento mais antigo e o mais recente em que é possível recuperar uma instância excluída do Cloud SQL, execute o seguinte comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME \
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'
Substitua:
INSTANCE_NAME: o nome da instância em que você quer encontrar o tempo de recuperação mais recente.SOURCE_INSTANCE_DELETION_TIMESTAMP: o carimbo de data/hora UTC da hora em que a instância de origem foi excluída, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
REST v1
Instância indisponível
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_NAME: o nome da instância que você está consultando para saber o tempo de recuperação mais recente
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instância excluída
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_NAME: o nome da instância de origem que você está consultando para saber o tempo de recuperação mais recente
- SOURCE_INSTANCE_DELETION_TIME: o horário em que a instância de origem foi excluída.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
REST v1beta4
Instância indisponível
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_NAME: o nome da instância que você está consultando para saber o tempo de recuperação mais recente
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instância excluída
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto;
- INSTANCE_NAME: o nome da instância de origem que você está consultando para saber o tempo de recuperação mais recente
- SOURCE_INSTANCE_DELETION_TIME: o horário em que a instância de origem foi excluída.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Resolver problemas
| Problema | Solução de problemas |
|---|---|
|
OU
|
O carimbo de data/hora fornecido é inválido. |
|
OU
|
O carimbo de data/hora que você forneceu refere-se a um momento em que não foram encontrados backups ou coordenadas binlog. |
A seguir
- Configurar sinalizações no clone.