Symptômes
Supposez que vous utilisez la réplication de fusion dans Microsoft SQL Server 2012 ou dans Microsoft SQL Server 2014. Dans le cadre du processus de synchronisation, l’agent de fusion génère une nouvelle génération dans une session. Si, pour une raison quelconque, par exemple un blocage ou un délai d’expiration, la génération de la transaction est sélectionnée comme victime du blocage et la transaction est restaurée, il est possible qu’il y ait une chaîne de blocage importante pour le verrouillage de MSinternal_makegeneration_inprog application dans les prochaines générations de génération, et que la session susmentionnée s’affiche sous la forme de bloc-titres.
Cause
Le verrouillage de l’application qui est utilisé pour sécuriser un processus de création de génération est un verrou d’application au niveau de la session. Lorsqu’un blocage est détecté lors de la création du processus, seule la transaction est annulée, mais la session n’est pas déconnectée. Pour libérer une application de niveau session, la session doit se déconnecter. Par conséquent, en raison de la conception de la logique de nouvelle tentative (la session ne sera pas déconnectée lors de la génération d’un échec de la réplication de fusion), si la première génération échoue avec le blocage, le verrou de session (MSinternal_makegeneration_inprog) qu’elle obtient ne sera pas distribué lors de la restauration de la transaction. Le processus de création de génération à venir entraîne une chaîne de blocage des requêtes de verrouillage. Le Blocker d’en-tête est affiché pour être la première demande de génération qui ne fonctionne pas avec le blocage. Avant le correctif, SQL Server efface uniquement le verrou pour un processus de création réussi. Le verrouillage d’une application de session orpheline reste avant la fermeture de session en cas de blocage.
Résolution
Ce problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 5 pour SQL Server 2014 /en-us/help/3011055
Mise à jour cumulative 3 pour SQL Server 2012 SP2 /en-us/help/3002049
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.