Sintomas
Suponha que utiliza os Grupos de Disponibilidade AlwaysOn do Microsoft SQL Server 2016 ou 2017. Quando retoma uma base de dados de disponibilidade suspensa, pode ocorrer um erro de asserção na réplica secundária. Além disso, as mensagens de erro semelhantes às seguintes são registadas no SQL Server registo de erros na réplica secundária.
Data/Hora Erro: 17066, Gravidade: 16, Estado: 1.
Data/Hora SQL Server Assertion: File: <recovery.cpp>, line=LineNumber Failed Assertion = 'recXdes->IsLockReleased () && recXdes->GetOutstandingCount () == 0'. Este erro pode estar relacionado com temporização. Se o erro persistir após executar novamente a instrução, utilize DBCC CHECKDB para verificar a integridade estrutural da base de dados ou reinicie o servidor para garantir que as estruturas de dados na memória não estão danificadas.
Data/HoraErro: 3624, Gravidade: 20, Estado: 1.
Data/HoraUma verificação de asserção do sistema falhou. Verifique o SQL Server registo de erros para obter detalhes. Normalmente, uma falha de asserção é causada por um erro de software ou danos nos dados. Para verificar se existem danos na base de dados, considere executar DBCC CHECKDB. Se tiver concordado em enviar informações de falha de sistema à Microsoft durante a configuração, será enviada uma mini captura para a Microsoft. Pode estar disponível uma atualização da Microsoft no Service Pack mais recente ou numa Correção do Suporte Técnico.
Data/HoraErro: 3624, Gravidade: 20, Estado: 2.
Data/HoraUma verificação de asserção do sistema falhou. Verifique o SQL Server registo de erros para obter detalhes. Normalmente, uma falha de asserção é causada por um erro de software ou danos nos dados. Para verificar se existem danos na base de dados, considere executar DBCC CHECKDB. Se tiver concordado em enviar informações de falha de sistema à Microsoft durante a configuração, será enviada uma mini captura para a Microsoft. Pode estar disponível uma atualização da Microsoft no Service Pack mais recente ou numa Correção do Suporte Técnico.
Data/HoraErro: 3313, Gravidade: 21, Estado: 2.
Data/HoraDurante a repetição de uma operação registada na base de dados DatabaseName, ocorreu um erro no ID do registo (RecordID). Normalmente, a falha específica é registada anteriormente como um erro no serviço registo de eventos do Windows. Restaure a base de dados a partir de uma cópia de segurança completa ou repare a base de dados.
Data/HoraO movimento de dados dos Grupos de Disponibilidade AlwaysOn para database DatabaseName foi suspenso pelo seguinte motivo: "system" (ID de Origem 2; Cadeia de origem: "SUSPEND_FROM_REDO"). Para retomar o movimento de dados na base de dados, terá de retomar a base de dados manualmente. Para obter informações sobre como retomar uma base de dados de disponibilidade, consulte SQL Server Books Online.
Data/HoraOpção ALTER DB param: RESUME
Data/HoraO movimento de dados dos Grupos de Disponibilidade AlwaysOn para database DatabaseName foi retomado. Esta é apenas uma mensagem informativa. Não é necessária nenhuma ação do utilizador.
Data/HoraLigação dos Grupos de Disponibilidade AlwaysOn à base de dados primária estabelecida para a base de dados secundária DatabaseName na réplica de disponibilidade ReplicaName com ID de Réplica: ReplicaID. Esta é apenas uma mensagem informativa. Não é necessária nenhuma ação do utilizador.
Data/HoraO LSN de recuperação (LsnNumber) foi identificado para a base de dados com o ID DatabaseID. Esta é apenas uma mensagem informativa. Não é necessária nenhuma ação do utilizador.
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todas as correções e todas as correções de segurança incluídas na atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologiaque a Microsoft utiliza para descrever as atualizações de software.