KB2933780 - FIX: il messaggio non viene rimosso dalla coda di trasmissione anche se l'ACK viene ricevuto correttamente in un gruppo di disponibilità AlwaysOn in SQL Server 2012 o SQL Server 2014

Si applica 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)

Sintomi

Si consideri lo scenario seguente:

  • Si abilita Microsoft SQL Server Service Broker (SSB) nel database del gruppo AlwaysOn di SQL Server.
  • Arresto e riavvio del database.
  • Assicurarsi che l'Atto di conferma (ACK) venga ricevuto correttamente.

In questo scenario, il messaggio non viene rimosso dalla coda di trasmissione anche se l'ACK viene ricevuto correttamente.

Causa

Il problema si verifica perché, quando si avvia il database dopo l'arresto pulito, SQL Server non controlla se l'attività di eliminazione differita della coda di trasmissione è riutilizzabile. Si presuppone che l'attività di eliminazione posticipata della coda di trasmissione sia corretta.

Risoluzione

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.

Aggiornamento cumulativo 1 per SQL Server 2014 /it-it/help/2931693

Aggiornamento cumulativo 9 per SQL Server 2012 SP1 /it-it/help/2931078

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

      

Soluzione alternativa

Per risolvere il problema, eseguire il failover del gruppo di disponibilità di SQL Server nella replica secondaria ed eseguire il failback, se necessario.

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".