CORRECTIF : La table change est commandée incorrecte pour les lignes mises à jour après avoir activé la capture de données modifiées pour une base de données Microsoft SQL Server

S’applique à : SQL Server 2008 EnterpriseSQL Server 2014 DeveloperSQL Server 2014 Developer Plus


Microsoft distribue les correctifs de Microsoft SQL Server 2012, 2014 ou 2016 sous la forme d’un fichier téléchargeable unique. Étant donné que les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs logiciels et des correctifs de sécurité qui ont été inclus avec la précédente 2012 de SQL Server, 2014, 2016 version du correctif.

Symptômes


Après avoir activé la capture de données modifiées pour une 2012 de Microsoft SQL Server, 2014 ou 2016 base de données la colonne opération de $ __ dans la table de change peut-être être commandés incorrecte pour les lignes mises à jour. Lorsque vous mettez à jour une ligne, il existe deux lignes dans la table de change, avec delete et insert pour opération de $ __. Mais une opération d’insertion peut apparaître de façon inattendue avant une opération de suppression. Si l’application applique de nouveau les lignes d’une autre table avec une contrainte de clé primaire, la violation de clé primaire suivante peut-être se produire :
 
Msg 2627, niveau 14, état 1, 6Violation de ligne de contrainte de clé primaire 'Primary_Key_name'. Impossible d’insérer une clé en double dans l’objet 'nom_table'. La valeur de clé en double est (valeur).

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références


Obtenir des informations sur la terminologie que Microsoft utilise pour décrire les mises à jour logicielles.