Symptômes
Partez du principe que vous utilisez la réplication de fusion exécutée par Publisher sur Microsoft SQL Server 2012 ou SQL Server 2012 Service Pack 1 (SP1). Après avoir effectué la mise à niveau de Publisher vers SQL Server 2012 Service Pack 2 (SP2), vous ne pouvez pas redémarrer l’agent de fusion. Par ailleurs, le message d’erreur suivant apparaît :
Le processus de fusion n’a pas pu effectuer le nettoyage des métadonnées de rétention dans la base de données « MergePub ». Si le problème persiste, essayez d’augmenter le délai de requête pour ce processus ou essayez de réduire la période de rétention. Lors de la résolution des problèmes, redémarrez la synchronisation avec la journalisation de l’historique détaillée et spécifiez le fichier de sortie dans lequel écrire.
Lorsque vous exécutez la procédure stockée sp_mergemetadataretentioncleanup manuellement sur l’éditeur, la procédure stockée échoue et vous recevez le message d’erreur suivant :
MSG 206, niveau 16, état 2, procédure sp_mergemetadataretentioncleanup, 63Operand de type ligne en conflit : bigint n’est pas compatible avec uniqueidentifierMsg 206, niveau 16, état 2, procédure sp_mergemetadataretentioncleanup, 65Operand de type ligne : ent n’est pas compatible avec uniqueidentifier
Résolution
Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
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 :
Solution de contournement
Pour contourner ce problème, exécutez la requête suivante sur la base de données publiée :if exists (select * from sys.columns sc inner join sys.types st on sc.system_type_id = st.system_type_id where object_id = object_id('dbo.sysmergesubscriptions') and sc.name = 'last_local_recgen' and st.name = 'uniqueidentifier') begin alter table dbo.sysmergesubscriptions drop column last_local_recgen alter table dbo.sysmergesubscriptions add last_local_recgen bigint null end
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.