Symptom
Anta att du använder Sammanslagningsreplikering som Publisher körs på Microsoft SQL Server 2012 eller SQL Server 2012 Service Pack 1 (SP1). När du har uppgraderat utgivaren till SQL Server 2012 Service Pack 2 (SP2) kan du inte starta om sammanslagnings agenten. Dessutom visas följande fel meddelande:
Det gick inte att utföra en rensning av metadata i databasen ' MergePub '. Om det här felet kvarstår kan du försöka med att öka tids gränsen för frågor för den här processen, eller minska lagrings perioden. När du felsöker kan du starta om synkroniseringen med utförlig historik loggning och ange en utdatafil som du kan skriva.
När du kör sp_mergemetadataretentioncleanup lagrade proceduren manuellt på utgivaren Miss lyckas den lagrade proceduren och följande fel meddelande visas:
Meddelande 206, nivå 16, State 2, procedur sp_mergemetadataretentioncleanup, rad 63Operand typ konflikt: bigint är inkompatibelt med uniqueidentifierMsg 206, Level 16, State 2, procedur sp_mergemetadataretentioncleanup, Line 65Operand Type konfidensnivå: int är inkompatibel med uniqueidentifier
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 3 för SQL Server 2012 SP2 /en-us/help/3002049
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Undvik problemet genom att köra följande fråga i den publicerade databasen: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
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".