CORREÇÃO: Paralela refazer uma réplica secundário de um grupo de disponibilidade que contém tabelas de heap gera um despejo de assert em tempo de execução ou o SQL Server falhar com um erro de violação de acesso

Aplica-se a: SQL Server 2017 DeveloperSQL Server 2017 EnterpriseSQL Server 2017 Enterprise Core

Sintomas


Suponha que você use um sempre no grupo de disponibilidade (AG) que contém tabelas de heap. Iniciando no SQL Server 2016, pthread exto para refazer operações é usado em réplicas secundárias. Nesse caso, operação de refazer de tabelas de heap pode gerar um despejo de assert em tempo de execução ou o SQL Server poderá falhar com um erro de violação de acesso em alguns casos.

Causa


Esse problema ocorre após você aplicar a atualização cumulativa mencionada no seguinte artigo:

4018866Corrigir: redo paralelo faz uso alto da memória no SQL Server 2016 quando ele é comparado à 2014 do SQL Server ou versões anteriores 

Resolução


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

       Atualização cumulativa 9 para o SQL Server 2016 SP1

       Atualização cumulativa 1 para SQL Server 2016 SP2

       Atualização cumulativa 6 para SQL Server 2017

Solução alternativa


Para contornar esse problema, desative redo paralelo, permitindo o rastreamento sinalizador 3459.

Status


A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplicável a".

Referências


Saiba mais sobre a terminologia padrão que Microsoft usa para descrever as atualizações de software.