KB4024393 - CORREÇÃO: Erro de asserção ocorre na réplica secundária quando você retoma um banco de dados de disponibilidade suspenso no SQL Server 2016 ou 2017

Aplica-se A
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions)

Sintomas

Suponha que utiliza os Grupos de Disponibilidade Sempre Ativo 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 registradas no log de erro SQL Server na réplica secundária.

Nota

  • 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 a temporização. Se o erro persistir depois de executar novamente a 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 estejam corrompidas.
  • Data/Hora Erro: 3624, gravidade: 20, estado: 1.
  • Data/Hora Uma verificação de asserção do sistema falhou. Consulte o registo de erros SQL Server para obter detalhes. Normalmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há danos no banco de dados, considere executar DBCC CHECKDB. Se concordou em enviar informações de perda para a Microsoft durante a configuração, será enviada uma minicaptura 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/Hora Erro: 3624, gravidade: 20, estado: 2.
  • Data/Hora Uma verificação de asserção do sistema falhou. Consulte o registo de erros SQL Server para obter detalhes. Normalmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há danos no banco de dados, considere executar DBCC CHECKDB. Se concordou em enviar informações de perda para a Microsoft durante a configuração, será enviada uma minicaptura 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/Hora Erro: 3313, gravidade: 21, estado: 2.
  • Data/Hora Durante a repetição de uma operação registada na base de dados DatabaseName, ocorreu um erro no ID do registo de 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/Hora O movimento de dados de Grupos de Disponibilidade Sempre Ativo para o banco de dados DatabaseName foi suspenso pelo seguinte motivo: "sistema" (ID de origem 2; Cadeia de origem: 'SUSPEND_FROM_REDO'). Para retomar a movimentação de dados na base de dados, terá de retomar a base de dados manualmente. Para obter informações sobre como retomar um banco de dados de disponibilidade, consulte SQL Server Manuais Online.
  • Data/Hora ALTER DB param option: RESUME
  • Data/Hora A movimentação de dados de Grupos de Disponibilidade Sempre Ativa para o banco de dados DatabaseName foi retomada. Trata-se apenas de uma mensagem informativa. Não é necessária qualquer ação do utilizador.
  • Data/Hora Conexão de grupos de disponibilidade Always On com o banco de dados primário estabelecida para o banco de dados secundário DatabaseName na réplica de disponibilidade ReplicaName com ID da réplica: ReplicaID. Trata-se apenas de uma mensagem informativa. Não é necessária qualquer ação do utilizador.
  • Data/Hora O LSN de recuperação (LsnNumber) foi identificado para o banco de dados com ID DatabaseID. Trata-se apenas de uma mensagem informativa. Não é necessária qualquer ação do utilizador.

Resolução

Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:

Atualização cumulativa 1 para SQL Server 2017

Atualização cumulativa 5 para SQL Server 2016 SP1

Acerca das atualizações cumulativas para SQL Server:

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Atualização cumulativa mais recente para o SQL Server 2017

Atualização cumulativa mais recente para o SQL Server 2016

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
 

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.