Symptomer
Anta at du bruker flettereplikasjon utgiveren kjører på Microsoft SQL Server 2012 eller SQL Server 2012 Service Pack 1 (SP1). Etter at du oppgraderer til Publisher til SQL Server 2012 Service Pack 2 (SP2), kan du starte den flettes Agent. I tillegg får du følgende feilmelding:
Fletteprosessen kan ikke utføre oppbevaring-baserte metadata cleanup i databasen 'MergePub'. Hvis denne feilen vedvarer, prøv å øke tidsavbruddet for spørringen for denne prosessen, eller prøv å redusere Oppbevaringstiden. Når du feilsøker, Start synkronisering med utførlig logg logging og angir en utdatafil som du skriver.
Når du utfører sp_mergemetadataretentioncleanup lagret prosedyre manuelt på utgiveren, den lagrede prosedyren mislykkes og du får følgende feilmelding:
Msg 206, nivå 16, 2 tilstand, prosedyren sp_mergemetadataretentioncleanup, linje 63
Være operanden type i konflikt: bigint er ikke kompatibel med uniqueidentifier
Msg 206, nivå 16, 2 tilstand, prosedyren sp_mergemetadataretentioncleanup, linje 65
Være operanden type i konflikt: int er ikke kompatibel med uniqueidentifier
Oppløsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 3 for SQL Server 2012 SP2/en-us/help/3002049
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Løsningen
Du kan omgå dette problemet ved å kjøre følgende spørring på publisert database: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 bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".