Sintomas
Considere o seguinte cenário:
-
Ativa o Microsoft SQL Server Service Broker (SSB) na base de dados do Grupo AlwaysOn do SqL Server.
-
Desliga-se e reinicia a base de dados.
-
Certifique-se de que o Reconhecimento (ACK) é recebido com sucesso.
Neste cenário, a mensagem não é removida da fila de transmissão, mesmo que o ACK seja recebido com sucesso.
Causa
O problema ocorre porque, quando inicia a base de dados após o desligar limpo, o SQL Server não verifica se a tarefa de eliminação adiada da fila de transmissão é reutilizável. Assume que a tarefa de eliminação adiada da fila de transmissão é ok.
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 1 para SQL Server 2014 /en-us/help/2931693
Atualização Cumulativa 9 para SQL Server 2012 SP1 /en-us/help/2931078
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 a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Solução
Para contornar o problema, falhe o Grupo de Disponibilidade do Servidor SQL para a réplica secundária (e falhe se for necessário).
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".