KB4016361 – CORREÇÃO: as conexões de ponto de extremidade do Service Broker não são fechadas após um failover de grupo de disponibilidade no SQL Server

Aplica-se a
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) 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 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

Sintomas

Suponha que você tenha um aplicativo SSB (SQL Service Broker) implantado como parte dos AGs (grupos de disponibilidade) Always On no Microsoft SQL Server e, em seguida, use o ouvinte do AG para se conectar. Após um failover de AG, as conexões de saída do SSB na réplica primária original são deixadas abertas. Isso faz com que as mensagens de entrada SSB sejam descartadas porque os bancos de dados são somente leitura ou estão inacessíveis.

Portanto, ele manifesta que as mensagens SSB estão presas na fila de transmissão e existem mais de uma conexão do Service Broker no AG.

Resolução

Informações de atualização cumulativa para o SQL Server:

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

Atualização cumulativa 38 para o SQL Server 2016 RTM

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

Atualização cumulativa 5 para o SQL Server 2014 SP2

Atualização cumulativa 12 para o SQL Server 2014 SP1

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 para o SQL Server:

Atualização cumulativa mais recente do SQL Server 2016

Atualização cumulativa mais recente do SQL Server 2014

Observação Com essa correção, o SQL Server fechará as conexões SSB de entrada e saída para a antiga réplica primária do Grupo de Disponibilidade durante o failover, para que as mensagens que estavam sendo descartadas antes dessa correção permaneçam na fila e sejam redirecionadas para a nova réplica primária assim que as conexões forem estabelecidas com a nova réplica primária, sem deixar nenhuma mensagem perdida ou ausente.

Informações sobre o service pack do SQL Server:

Esse problema é corrigido nos seguintes service packs para o SQL Server:

Service Pack 4 para SQL Server 2012

Service Pack 2 para SQL Server 2016

Para obter mais informações sobre como obter o service pack mais recente, consulte Como obter o service pack mais recente do SQL Server 2012

Sobre os service packs do SQL Server

Sobre os service packs do SQL Server

Os service packs são cumulativos. Cada novo service pack contém todas as correções dos service packs anteriores, juntamente com as novas correções. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a Tabela 1 do artigo a seguir para encontrar mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Como determinar a versão, a edição e o nível de atualização do SQL Server e seus componentes

Status

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

Referências

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