Esta página descreve como gerir réplicas de leitura. Estas operações incluem desativar e ativar a replicação, promover uma réplica, configurar a replicação paralela e verificar o estado da replicação.
Para mais informações sobre o funcionamento da replicação, consulte o artigo Replicação no Cloud SQL.
Esta página aplica-se a réplicas de uma instância do Cloud SQL. Para configurar uma instância do Cloud SQL para atuar como publicador para um subscritor externo, consulte o artigo Configurar réplicas externas.
Desative a replicação
Por predefinição, uma réplica começa com a replicação ativada. No entanto, pode desativar a replicação, por exemplo, para depurar ou analisar o estado de uma instância. Quando tiver tudo pronto, reativa explicitamente a replicação. Desativar ou reativar a replicação não reinicia a instância da réplica.
A desativação da replicação não para a instância da réplica. Esta torna-se uma instância só de leitura que já não está a replicar a partir da respetiva instância principal. A cobrança da instância continua a ser feita. Na réplica desativada, pode reativar a replicação, eliminar a réplica ou promover a réplica a uma instância autónoma.
Quando desativa a replicação durante um período prolongado, os requisitos de armazenamento em disco podem aumentar. Por exemplo, a sua instância pode acumular registos transacionais para lhe permitir retomar a replicação quando a reativar. Para evitar aumentar os requisitos de armazenamento em disco, em vez de desativar a replicação durante um período prolongado, pondere promover a réplica ou criar um clone da instância principal.
Para desativar a replicação:
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no respetivo nome.
- 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 este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:patch para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Corpo JSON do pedido:
{ "settings": { "databaseReplicationEnabled": "False" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
REST v1beta4
Para executar este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:patch para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Corpo JSON do pedido:
{ "settings": { "databaseReplicationEnabled": "False" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Ative a replicação
Se uma réplica não estiver a ser replicada há muito tempo, vai demorar mais tempo a ficar atualizada com a instância principal. Neste caso, elimine a réplica e crie uma nova.
Para ativar a replicação:
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no respetivo nome.
- Clique em Ativar replicação.
- Clique em OK.
gcloud
gcloud sql instances patch REPLICA_NAME \ --enable-database-replication
REST v1
Para executar este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:patch para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Corpo JSON do pedido:
{ "settings": { "databaseReplicationEnabled": "True" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
REST v1beta4
Para executar este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:patch para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Corpo JSON do pedido:
{ "settings": { "databaseReplicationEnabled": "True" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Promova uma réplica
A promoção de uma réplica de leitura interrompe a replicação e converte a instância numa instância principal autónoma do Cloud SQL com capacidades de leitura e escrita.
Quando são promovidas, as réplicas de leitura são configuradas automaticamente com cópias de segurança, mas não são configuradas automaticamente como instâncias de alta disponibilidade (AA). Pode ativar a alta disponibilidade depois de promover a réplica, tal como faria para qualquer instância que não seja uma réplica. A configuração de uma réplica de leitura para alta disponibilidade é feita da mesma forma que para uma instância principal. Saiba mais sobre a configuração da instância para elevada disponibilidade.
Antes de promover uma réplica de leitura, se a principal ainda estiver disponível e a servir clientes, deve fazer o seguinte:
- Pare todas as gravações na instância principal.
- Verifique o estado da replicação da réplica. Uma opção para o fazer é o painel de controlo do grupo de disponibilidade sempre ativo no SQL Server Management Studio (SSMS).
- Verifique se a réplica está a ser replicada e, em seguida, verifique
o atraso na replicação, por exemplo, conforme comunicado pela métrica
seconds_behind_master
.
Caso contrário, uma instância promovida recentemente pode não ter algumas transações que foram confirmadas na instância principal.
Para promover uma réplica para uma instância autónoma:
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Selecione uma instância de réplica clicando no respetivo nome.
- Clique em Promover réplica.
- Clique em OK.
gcloud
gcloud sql instances promote-replica REPLICA_NAME
REST v1
Para executar este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:promoteReplica para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name/promoteReplica
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
REST v1beta4
Para executar este comando cURL numa linha de comando, adquire um token de acesso através do comando gcloud auth print-access-token. Também pode usar o Explorador de APIs na página Instances:promoteReplica para enviar o pedido da API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- replica-name: o nome da instância de réplica
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name/promoteReplica
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Confirme que a instância promovida está configurada corretamente. Em particular, considere configurar a instância para alta disponibilidade, se necessário.
Verifique o estado da replicação
Atualmente, deve usar consultas T-SQL ou o SSMS para monitorizar o estado da replicação. Para mais informações, consulte o seguinte:- Ferramentas para monitorizar grupos de disponibilidade Always On
- Use o painel de controlo do grupo de disponibilidade Always On
Resolver problemas
Problema | Resolução de problemas |
---|---|
A réplica de leitura não começou a ser replicada na criação. | Provavelmente, existe um erro mais específico nos ficheiros de registo. Inspeccione os registos nos Registos na nuvem para encontrar o erro real. |
Não é possível criar uma réplica de leitura: erro invalidFlagValue. | Uma das flags no pedido é inválida. Pode ser uma flag que
forneceu explicitamente ou uma que foi definida para um valor predefinido.
Primeiro, verifique se o valor da flag Se a flag |
Não é possível criar uma réplica de leitura: erro desconhecido. | Provavelmente, existe um erro mais específico nos ficheiros de registo.
Inspeccione os registos nos
Registos na nuvem 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 para a atualizar para um tamanho de disco maior. |
A instância da réplica está a usar demasiada memória. | A réplica usa memória temporária para colocar em cache operações de leitura pedidas com frequência, o que pode fazer com que 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. |
A replicação foi interrompida. | O limite máximo de armazenamento foi atingido e o aumento automático do armazenamento não está ativado.
Edite a instância para ativar a autorização |
O atraso de replicação é consistentemente elevado. | A carga de escrita é demasiado elevada para a réplica processar. O atraso de replicação ocorre quando o segmento SQL numa réplica não consegue acompanhar o segmento de E/S. Alguns tipos de consultas ou cargas de trabalho podem causar um atraso de replicação elevado temporário ou permanente para um determinado esquema. Algumas das causas típicas
do atraso na replicação são:
Algumas soluções possíveis incluem:
|
A criação de réplicas falha devido ao limite de tempo. | As transações não comprometidas de longa duração na instância principal podem fazer com que a criação de réplicas de leitura falhe.
Recrie a réplica depois de parar todas as consultas em execução. |
O que se segue?
- Saiba como criar uma réplica de leitura.
- Saiba mais sobre os requisitos e as práticas recomendadas para a replicação.