Symptômes
Prenons le scénario suivant :
- Vous activez Microsoft SQL Server Service Broker (SSB) dans la base de données du groupe SQL Server AlwaysOn.
- Vous arrêtez et redémarrez la base de données.
- Assurez-vous que l’accusé de réception (ACK) est bien reçu.
Dans ce scénario, le message n’est pas supprimé de la file d’attente de transmission, même si l’accusé de réception est réussi.
Cause
Ce problème se produit parce que, lorsque vous démarrez la base de données après l’arrêt du propre, SQL Server ne case activée pas si la tâche de suppression différée de la file d’attente de transmission est réutilisable. Elle suppose que la tâche de suppression différée de la file d’attente de transmission est correcte.
Résolution
Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 1 pour SQL Server 2014 /en-us/help/2931693
Mise à jour cumulative 9 pour SQL Server 2012 SP1 /en-us/help/2931078
À propos des mises à jour cumulatives pour SQL Server
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
- Dernière mise à jour cumulative pour SQL Server 2014
- Dernière mise à jour cumulative pour SQL Server 2012 SP1
Solution de contournement
Pour contourner ce problème, basculez le groupe de disponibilité SQL Server vers le réplica secondaire (et restaurez la restauration si nécessaire).
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».