Sintomi
Considerare lo scenario descritto di seguito:
-
Si Abilita Microsoft SQL Server Service Broker (SSB) nel database di gruppo di SQL Server AlwaysOn.
-
Si arresta e si riavvia il database.
-
Verificare che il riconoscimento (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 la chiusura pulita, SQL Server non controlla se l'attività Elimina coda di trasmissione rinviata è riutilizzabile. Si presuppone che l'attività Elimina coda di trasmissione Deferred sia OK.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 /en-us/help/2931693
Aggiornamento cumulativo 9 per SQL Server 2012 SP1 /en-us/help/2931078
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per risolvere il problema, eseguire il failover del gruppo di disponibilità di SQL Server nella replica secondaria (e il failback Se necessario).
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".