O ApsaraDB RDS for SQL Server mantém uma instância secundária sincronizada com a primária em tempo real. Se a instância primária falhar, o sistema promove automaticamente a secundária para primária e sua aplicação se reconecta usando o mesmo endpoint, sem necessidade de alterar as strings de conexão. Para manutenções planejadas, atualizações ou simulações de recuperação de desastres, também é possível acionar uma alternância manualmente.
Pré-requisitos
Antes de começar, verifique se você possui uma instância RDS primária executando a RDS High-availability Edition ou a RDS Cluster Edition.
Existem limitações específicas por edição:
RDS Cluster Edition: apenas alternâncias automáticas são suportadas. Para alternar manualmente, entre em contato com o suporte técnico da Alibaba Cloud.
RDS Basic Edition: não há instância secundária disponível; portanto, o recurso de alternância primária/secundária não é suportado.
Como funciona
A instância primária processa todo o tráfego de leitura e escrita. A instância secundária opera em standby e replica dados continuamente da primária. Não é possível acessar a instância secundária diretamente.
Quando ocorre uma alternância, seja automática ou manual, a instância secundária é promovida a primária. O endpoint usado para conectar ao banco de dados permanece o mesmo, embora os endereços IP associados a ele possam mudar. Se sua aplicação se conectar via endpoint, ela continuará funcionando normalmente após a alternância.
Comportamento por edição
|
Edição |
Alternância automática |
Alternância manual |
|
High-availability Edition |
Suportada (ativada por padrão) |
Suportada |
|
Cluster Edition |
Suportada (ativada por padrão) |
Não suportada — entre em contato com o suporte técnico da Alibaba Cloud |
|
Basic Edition |
Não suportada |
Não suportada |
O que aciona uma alternância automática
Caso a instância primária apresente falha, o sistema transfere automaticamente suas cargas de trabalho para a instância secundária. Para obter a lista completa de causas, consulte Motivos para alternâncias primária/secundária.
Limitações
Instâncias Serverless: Instâncias RDS Serverless não suportam alternâncias manuais. O sistema gerencia automaticamente o failover para essas instâncias. Para mais detalhes, consulte Visão geral.
Sincronização de ALTER LOGIN: O mecanismo de sincronização primária/secundária não replica todos os parâmetros da instrução
ALTER LOGIN. ApenasSID,login_nameepasswordsão sincronizados. Todos os outros parâmetros deALTER LOGINretornam aos valores padrão na instância secundária. Para a referência completa de parâmetros, consulte ALTER LOGIN (Transact-SQL).
Impactos de uma alternância
Antes de executar uma alternância, considere os seguintes pontos:
Interrupção do serviço: Uma alternância causa aproximadamente 30 segundos de indisponibilidade. Configure sua aplicação para se reconectar automaticamente ao banco de dados após uma desconexão. Caso utilize o pool de conexões Druid, atualize para a versão 1.1.16 ou posterior, pois versões anteriores podem falhar na reconexão automática.
Atraso de replicação em instâncias somente leitura: Após uma alternância, as instâncias somente leitura restabelecem suas conexões de replicação com a nova primária. Espere um atraso de replicação de alguns minutos durante esse período.
Operações restritas durante a alternância: Enquanto uma alternância estiver em andamento, não é possível gerenciar bancos de dados e contas ou alterar o tipo de rede.
Alternância mais longa durante falhas: Uma alternância acionada por falha na instância pode levar mais tempo do que uma alternância manual planejada.
Alterações de endereço IP: O endpoint permanece inalterado, mas os endereços IP associados a ele podem mudar. Aplicações que se conectam via endpoint não são afetadas.
Quando realizar uma alternância manual
Considere uma alternância manual nas seguintes situações:
Manutenção e atualizações: Controle o momento da alternância para minimizar o impacto de manutenções planejadas.
Simulações de recuperação de desastres: Valide se sua aplicação lida corretamente com o failover antes que ocorra uma falha real.
Proximidade em múltiplas zonas: Se sua instância utiliza implantação multizona e você deseja que sua aplicação se conecte à zona mais próxima, alterne a primária para essa zona.
Realizar uma alternância manual
Acesse a página Instances. Na barra de navegação superior, selecione a região onde reside sua instância RDS. Localize a instância e clique em seu ID.
No painel de navegação à esquerda, clique em Service Availability.
Na seção Availability Information, clique em Switch Primary/Secondary Instance.
-
Especifique quando realizar a alternância e clique em OK.
NotaSelecione Within Specified Time Range para evitar acionar a alternância durante horários de pico. Durante a alternância, operações como gerenciamento de bancos de dados e contas ou alteração do tipo de rede ficam indisponíveis.
Desativar temporariamente alternâncias automáticas
Por padrão, as alternâncias automáticas estão ativadas. Se a instância primária falhar, o sistema executa a alternância imediatamente. Em algumas situações, convém suprimir as alternâncias automáticas por um período limitado, como durante uma grande promoção de vendas, uma atualização importante de aplicação ou uma janela de evento crítico em que uma alternância inesperada poderia comprometer a disponibilidade.
Acesse a página Instances. Na barra de navegação superior, selecione a região onde reside sua instância RDS. Localize a instância e clique em seu ID.
No painel de navegação à esquerda, clique em Service Availability.
-
Na seção Availability Information, clique em Automatic Primary/Secondary Switchover.
NotaSe Automatic Primary/Secondary Switchover não estiver visível, verifique se sua instância atende a todos os pré-requisitos.
-
Selecione Temporarily Disable, defina o Deadline e clique em OK.
NotaAo atingir o prazo, as alternâncias automáticas são reativadas automaticamente. Se você deixar o campo Deadline em branco, o recurso ficará desativado por um dia. O prazo máximo é 23:59:59, sete dias a partir da data atual.
Após salvar, a página Service Availability exibe o prazo após o qual as alternâncias automáticas serão retomadas.
Visualizar logs de alternância primária/secundária
Os logs de alternância estão disponíveis apenas para instâncias executando SQL Server 2008 R2 com Premium Local SSDs.
Acesse a página Instances. Na barra de navegação superior, selecione a região onde reside sua instância RDS. Localize a instância e clique em seu ID.
No painel de navegação à esquerda, clique em Service Availability.
Na seção Primary/Secondary Switching Logs, selecione um intervalo de tempo para visualizar os logs de alternância gerados nesse período.

Perguntas frequentes
Preciso reverter para a instância primária original após uma alternância?
Não. Após uma alternância, a instância secundária torna-se a nova primária e atende a todo o tráfego. Ambas as instâncias mantêm dados idênticos por meio de sincronização em tempo real, portanto, nenhuma reversão manual é necessária.
Minha aplicação fica lenta por cerca de 10 minutos após uma alternância. O que causa isso?
Isso geralmente ocorre porque sua aplicação mantém conexões persistentes que não são fechadas automaticamente quando a alternância acontece. Sem um timeout de socket configurado, sua aplicação aguarda indefinidamente por uma resposta do banco de dados. As conexões parecem abertas, mas não conseguem atender solicitações. A maioria das aplicações se desconecta após vários minutos, período em que as instruções SQL falham.
Para reduzir o tempo de recuperação, configure os parâmetros connectTimeout e socketTimeout. Para cargas de trabalho transacionais online, defina connectTimeout para 1–2 segundos e socketTimeout para 60–90 segundos. Ajuste esses valores com base nas características da sua carga de trabalho.
Referência de API
|
Operação |
Descrição |
|
Alterna cargas de trabalho entre nós primário e secundário |
|
|
Ativa ou desativa alternâncias automáticas primária/secundária para uma instância |
|
|
Consulta as configurações de alternância automática primária/secundária de uma instância |