KB2933780 - CORREÇÃO: A mensagem não é removida da fila de transmissão, mesmo que o ACK seja recebido com êxito em um grupo de disponibilidade AlwaysOn no SQL Server 2012 ou SQL Server 2014

Aplica-se a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Considere o seguinte cenário:

  • Você habilita o SSB (Microsoft SQL Server Service Broker) no banco de dados do Grupo SQL Server AlwaysOn.
  • Você desliga e reinicia o banco de dados.
  • Certifique-se de que a confirmação (ACK) seja recebida com êxito.

Nesse cenário, a mensagem não é removida da fila de transmissão, mesmo que o ACK seja recebido com êxito.

Causa

O problema ocorre porque, quando você inicia o banco de dados após o desligamento limpo, o SQL Server não verifica se a tarefa de exclusão adiada da fila de transmissão é reutilizável. Ele pressupõe que a tarefa de exclusão adiada da fila de transmissão está correta.

Resolução

O problema foi corrigido pela primeira vez na atualização cumulativa seguinte 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

Sobre atualizações cumulativas para o 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:

      

Solução alternativa

Para contornar o problema, faça failover do Grupo de Disponibilidade do SQL Server para a réplica secundária (e failback, se necessário).

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".