Sümptomid
Oletagem, et kasutate Microsoft SQL Server 2012 Service Pack 2 (SP2) Merge replikatsiooni. Kui puhastate metaandmeid sp_mergemetadataretentioncleanup väljaandja kaudu, ei saa metaandmeid eemaldada, kuigi kõik tellijad on edukalt sünkroonitud. Sellisel juhul saab sünkroonimise aega oluliselt suurendada liigsete metaandmete tõttu.Märkus. Veerus Last_local_recguid on nullväärtusega väärtus või on mõni vana põlvkond, mis asub last_local_recgen veerus sysMergeSubscriptions , kus on mõned tellijad Publisheri poolel.
Põhjus
See probleem ilmneb seetõttu, et mõned muudatused on kasutusele võetud, et vähendada võimalust ühtlustada ühendamise metaandmete cleanup protseduuri. Selle saavutamiseks kinnitab cleanup, millised põlvkonnad võivad endiselt aktiivsed olla, et vältida stsenaariumi, mille korral need kustutatakse, ja seejärel uuesti sisse logida abonendi kaudu, mis ei sünkrooni sageli. See tuvastamise mehhanism võib teatud põlvkondade nimekirjast välja jätta, kuigi need ei kuulu enam säilitamise perioodi. Mõnel juhul võib see suurendada metaandmete tabelite mahtu.
Lahendus
See probleem parandati esmakordselt SQL serveri järgmises koondvärskenduses.
Kumulatiivne Update 1 SQL Server 2014 SP1 jaoks /en-us/help/3067839
Kumulatiivne värskendus 4 SQL Server 2012 SP2 jaoks /en-us/help/3007556
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.