Sintomas
Suponha que você use o Microsoft SQL Server 2016 ou o 2017. Quando um grupo de disponibilidade se une a um grupo de disponibilidade distribuída existente (DAG) imediatamente após o DAG ser descartado e recriado, ele pode falhar ao ingressar no DAG evocê receber as mensagens de erro semelhantes às seguintes:
Sempre ativado: notificação de alteração de configuração do Process AG para AG ' AGName ' no estado ' forwarder ' (7). Erro: 41162, severidade: 16, estado: 0. falha ao validar o número de sequência da configuração do grupo de disponibilidade 'AGName'. O número de sequência na memória não corresponde ao número sequencial persistente. O grupo de disponibilidade e/ou a réplica de disponibilidade local será reiniciado automaticamente. Não é preciso nenhuma ação do usuário no momento. AlwaysOn: "AGName" agora está processando a notificação (tipo 64). Sempre ativado: notificação de alteração de configuração do Process AG para AG 'AGName' no estado ' forwarder ' (7). AlwaysOn: "AGName" agora está validando a integridade da AG no WSFC. Sempre ativado: transição de função "AGName" do ar [encaminhador]--> [encaminhador], gatilho [VALIDATE_AG_CONFIG], estado (WSFC = 1, Metadata = 1). AlwaysOn: "AGName" agora está processando a notificação (tipo 2).
Além disso, o erro 41162 pode trazer o estado de resolução da AG, e isso pode causar dois outros problemas: erro 19407 e falha na asserção.
Error 19407:
Transações não qualificadas estão sendo revertidas no banco de dados dbname para uma alteração de estado de grupos de disponibilidade AlwaysOn. Conclusão estimada da reversão: 100%. Esta é uma mensagem informativa apenas. Não é necessária nenhuma ação do usuário. [HaDrDbMgr::SetPrimaryAR] Definindo Primary como AGID: AGNumber, replicaId: ReplicaNumber, AGDBID: AGDBNumbererro: 19407, severidade: 16, estado: 2. a concessão entre o grupo de disponibilidade ' GroupName ' e o cluster de failover do Windows Server expirou. Ocorreu um problema de conectividade entre a instância do SQL Server e do cluster de failover do Windows Server. Para determinar se o grupo de disponibilidade está falhando corretamente, verifique o recurso de grupo de disponibilidade correspondente no cluster de failover do Windows Server.
Declaração
AlwaysOn: processar a notificação de alteração de configuração da AG para AG 'DatabaseName' no estado ' RESOLVING_NORMAL ' (0).
AlwaysOn: "DatabaseName" agora está validando a integridade da AG no WSFC.
Sempre ligado: GetTransportWithRef () é rejeitado porque o AR local não está online.
Informações de estado para o banco de dados 'DatabaseName'-LSN protegido: ' (34:304752:1) ' LSN de confirmação: ' (0:0:0) ' tempo de confirmação: ' Jan 1 1900 12:00am '
RECUPERAÇÃO (DatabaseName, 6): Iniciando para parar de trabalhadores em paralelo refazer
* * Despejar thread-SPID = 0, EC = 0x000001F280CC7250
Despejo de pilha sendo enviado para o FileLocation
* INICIAR DESPEJO DE PILHA:
* Local: "FileLocation": 1774
* Expressão: GetContext ()->getController ()->GetHadrArRoleExternal () = = HADR_ROLE_FORWARDING_SECONDARY
* SPID: SPID
* ID do processo: ProcessId
Erro: 17066, severidade: 16, estado: 1.
Asserção do SQL Server: arquivo: < "FileLocation" >, line = 1774 Failed Assertion = ' GetContext ()->getController ()->GetHadrArRoleExternal () = = HADR_ROLE_FORWARDING_SECONDARY '. Este erro pode estar relacionado ao tempo. Se o erro persistir após a reexecução da instrução, use DBCC CHECKDB para verificar a integridade estrutural do banco de dados ou reinicie o servidor para garantir que as estruturas de dados na memória não sejam corrompidas.
Erro: 3624, severidade: 20, estado: 1.
Falha na verificação da declaração do sistema. Verifique o log de erros do SQL Server para obter detalhes. Geralmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há corrupção do banco de dados, considere executar DBCC CHECKDB. Se você concordou em enviar despejos para a Microsoft durante a instalação, um mini despejo será enviado à Microsoft. Uma atualização pode estar disponível na Microsoft no Service Pack mais recente ou em um hotfix do suporte técnico.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Resolução
Este problema foi corrigido na atualização cumulativa a seguir para SQL Servidor
Sobre atualizações cumulativas do SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior atualização cumulativa. Confira as atualizações cumulativas mais recentes do SQL Server:
Informações sobre o hotfix sob demanda:
Este problema foi corrigido no seguinte hotfix sob demanda do SQL Server:
Referências
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.