Sintomas
Quando você executa o comando a seguir para fazer failover do SQL Server 2017 (grupos de disponibilidade AlwaysOn) de escala de leitura (AG), você pode notar que ele falha e recebe um despejo de declaração semelhante ao seguinte:
use [master]
go
alter availability group [ag-rds] set(
required_synchronized_secondaries_to_commit = 1
)
go
alter availability group [ag-rds] set (role = secondary)
Despejo de declaração
DateTime SPID # # erro: 17066, severidade: 16, estado: 1.
DateTime SPID # # SQL Server Assertion: arquivo: <HadrAvailabilityGroupReplica. cpp>, line =LineNumber falhou Assertion = ' cbDataTotal <= cbRemainingBuffer '. Este erro pode estar relacionado ao tempo. Se o botão erro persiste após a reexecução da instrução, use DBCC CHECKDB para verificar o banco de dados para integridade estrutural ou reinicie o servidor para garantir a memória estruturas de dados não estão corrompidas.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Resolução
Esse problema foi corrigido na seguinte atualização cumulativa do SQL Server:
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 incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Referências
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.