Nesta página, você verá como gerenciar réplicas de leitura. Essas operações incluem desativar e ativar a replicação, promover uma réplica, configurar a replicação paralela e verificar o status da replicação.
Para mais informações sobre como funciona a replicação, consulte Replicação no Cloud SQL.
Esta página se aplica a réplicas de uma instância do Cloud SQL. Para configurar uma instância do Cloud SQL para atuar como editor em um assinante externo, consulte Configurar réplicas externas.
.Desativar replicação
Por padrão, uma réplica começa com a replicação ativada. No entanto, é possível desativar a replicação, por exemplo, para depurar ou analisar o estado de uma instância. Ao terminar, reative a replicação explicitamente. Desativar ou reativar a replicação não reinicia a instância da réplica.
Quando a replicação é desativada, isso não interrompe a instância da réplica: ela se torna uma instância somente leitura que não é mais replicada da instância principal. Você continuará sendo cobrado pela instância. Na réplica desativada, é possível reativar a replicação, excluir a réplica ou promovê-la a uma instância autônoma.
Para desativar a replicação:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no nome dela.
- Clique em Desativar replicação na barra de botões.
- Clique em OK.
gcloud
gcloud sql instances patch REPLICA_NAME \ --no-enable-database-replication
REST v1
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: patch" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Corpo JSON da solicitação:
{ "settings": { "databaseReplicationEnabled": "False" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: patch" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Corpo JSON da solicitação:
{ "settings": { "databaseReplicationEnabled": "False" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Ativar replicação
Se uma réplica não for replicada por muito tempo, ela demorará mais para alcançar a instância principal. Nesse caso, exclua a réplica e crie uma nova.
Para ativar a replicação:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no nome dela.
- Clique em Ativar replicação.
- Clique em OK.
gcloud
gcloud sql instances patch REPLICA_NAME \ --enable-database-replication
REST v1
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: patch" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Corpo JSON da solicitação:
{ "settings": { "databaseReplicationEnabled": "True" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: patch" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Corpo JSON da solicitação:
{ "settings": { "databaseReplicationEnabled": "True" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Promover uma réplica
Promover uma réplica de leitura interrompe a replicação e converte a instância em uma instância primária independente do Cloud SQL com recursos de leitura e gravação.
Quando promovidas, as réplicas de leitura são configuradas automaticamente com backups, mas não são configuradas automaticamente como instâncias de alta disponibilidade (HA, na sigla em inglês). É possível ativar a alta disponibilidade depois de promover a réplica, assim como faria para qualquer instância que não seja réplica. Configurar uma réplica de leitura para alta disponibilidade é feito da mesma maneira que em uma instância principal. Saiba mais sobre como configurar a instância para alta disponibilidade.
Antes de promover uma réplica de leitura, se a principal ainda estiver disponível e atendendo aos clientes, faça o seguinte:
- Interrompa todas as gravações na instância principal.
- Verifique o status de replicação da réplica Uma opção para fazer isso é o painel de grupo de disponibilidade sempre ativados no SQL Server Management Studio (SSMS).
- Verifique se a réplica está replicando e verifique
o atraso da replicação, por exemplo, conforme informado pela
métrica
seconds_behind_master
.
Caso contrário, uma instância recém-promovida pode não ter algumas transações confirmadas na instância principal.
Para promover uma réplica a uma instância autônoma:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no nome dela.
- Clique em Promover réplica.
- Clique em OK.
gcloud
gcloud sql instances promote-replica REPLICA_NAME
REST v1
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: promoteReplica" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name/promoteReplica
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Para executar esse comando cURL em um prompt de linha de comando, adquira um token de acesso. Basta usar o comando gcloud auth print-access-token. Use também o APIs Explorer na página "Instâncias: promoteReplica" para enviar a solicitação da API REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- replica-name: o nome da instância da réplica
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name/promoteReplica
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Confirme se a instância promovida está configurada corretamente. Em particular, configure a instância para alta disponibilidade, se necessário.
Verificar o status da replicação
No momento, use consultas T-SQL ou SSMS para monitorar o status da replicação. Para ver mais informações, consulte os seguintes tópicos:- Ferramentas para monitorar grupos de disponibilidade sempre ativados
- Usar o painel do grupo de disponibilidade sempre ativados
Resolver problemas
Problema | Solução de problemas |
---|---|
A réplica de leitura não começou a ser replicada na criação. | Provavelmente há um erro mais específico nos arquivos de registro. Inspecione os registros no Cloud Logging para encontrar o erro real. |
Não foi possível criar a réplica de leitura: erro invalidFlagValue. | Uma das sinalizações na solicitação é inválida. Pode ser uma sinalização
fornecida explicitamente ou uma que foi definida como um valor padrão.
Primeiro, verifique se o valor da sinalização Se a sinalização |
Não foi possível criar a réplica de leitura: erro desconhecido. | Provavelmente há um erro mais específico nos arquivos de registro.
Inspecione os registros no
Cloud Logging para encontrar o erro real.
Se o erro for: |
O disco está cheio. | O tamanho do disco da instância principal pode ficar cheio durante a criação da réplica. Edite a instância principal com upgrade para um tamanho de disco maior. |
A instância da réplica está usando memória demais. | A réplica usa memória temporária para armazenar em cache as operações
de leitura solicitadas com frequência, o que pode fazer com que ela use mais memória do que a instância principal.
Reinicie a instância da réplica para recuperar o espaço de memória temporário. |
Replicação interrompida. | O limite máximo de armazenamento foi atingido e o aumento
automático de armazenamento não está ativado.
Edite a instância para ativar |
O atraso da replicação é consistentemente alto. | A carga de gravação é alta demais para a réplica processar. O atraso de replicação
ocorre quando a linha de execução SQL em uma réplica não consegue acompanhar a
linha de execução de E/S. Alguns tipos de consultas ou cargas de trabalho podem causar um atraso de replicação
temporário ou permanente para um determinado esquema. Estas são algumas
das causas comuns do atraso de replicação:
Algumas soluções possíveis incluem:
|
A criação da réplica falha com o tempo limite. | Transações não confirmadas de longa duração na instância primária podem causar
falha na criação da réplica de leitura.
Recrie a réplica depois de interromper todas as consultas em execução. |
A seguir
- Saiba como criar uma réplica de leitura.
- Saiba mais sobre os requisitos e as práticas recomendadas de replicação.