KB2733630 – Fletteagenten mislykkes muligvis under synkronisering af flettereplikering i SQL Server

Gælder for
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Parallel Data Warehouse SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

Symptomer

Under synkronisering af flettereplikering i Microsoft SQL Server 2008 og nyere versioner af SQL Server kan fletteagenten mislykkes. Desuden vises følgende fejlmeddelelse:

Bemærk

Fletsagenten mislykkedes efter at have registreret, at opbevaringsbaseret metadataoprydning har slettet metadata hos abonnenten for ændringer, som endnu ikke er sendt til udgiveren. Du skal initialisere abonnementet igen (uden overførsel). (Kilde: MSSQL_REPL, fejlnummer: MSSQL_REPL-2147199401)

Få hjælp: http://help/MSSQL_REPL-2147199401

Dette problem kan opstå af flere årsager. Disse omfatter mange årsager, der kan forventes under visse omstændigheder. Du kan afgøre, om du uventet er stødt på denne fejl, ved at undersøge metadataoplysningerne, der er beskrevet i afsnittet "Årsag".

Årsag

Årsagen til dette problem kan findes i følgende systemtabeller hos abonnenten:

  • dbo.sysMergeSubscriptions
  • dbo. MsMerge_Genhistory

Sørg for, at fletningsagenten ikke længere synkroniseres. Kør derefter følgende forespørgsel, og undersøg resultaterne:

select sentgen from SubscriberDB.dbo.sysMergeSubscriptions where pubid = subid and sentgen is not null

Forespørgselsresultater

Kolonnen sentgen markerer den ældste gruppe af ændringer, som abonnenten har sendt til udgiveren. Hvis der returneres flere værdier, skal du undersøge de andre kolonner i tabellen dbo.sysMergeSubscriptions for at sikre, at du får vist metadataene for den korrekte publikation. Brug derefter den værdi, denne forespørgsel returnerer i følgende forespørgsel:

Vælg top 20 * fra SubscriberDB.dbo.MSmerge_genhistory hvor generation >= sentgen_value rækkefølge efter generationOutputtet af forespørgslen skal ligne det følgende:

Forespørgselsresultat efter generation

Du kan uventet støde på fejlen, når alle følgende betingelser er opfyldt:

  • Værdien i kolonnen generation i den første række er lidt større end værdien sentgen i den forrige forespørgsel.
  • Værdien i kolonnen genstatus er 4.
  • Værdien i kolonnen changecount er 0.

Bemærk! Værdien af kolonnen coldate i den første række er typisk også meget ældre end værdien af den pågældende kolonne i de andre rækker.

Løsning

Du kan løse dette problem ved at initialisere den abonnent, der genererede fejlen, igen.

I visse situationer kan du muligvis løse dette problem uden at skulle foretage en fuldstændig geninitialisering. Kontakt Microsofts kundesupport for at få oplysninger om en mulig løsning.

For at forhindre fremtidige forekomster af dette problem skal du anvende en af følgende rettelser, afhængigt af din version af SQL Server.

Oplysninger om kumulativ opdatering

SQL Server 2008

Der er ingen løsning til dette problem i SQL Server 2008.

SQL Server 2008 R2 Service Pack 2

Rettelsen til dette problem blev først udgivet i den samlede opdatering 3. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 R2 Service Pack 2, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2754552 Samlet opdateringspakke 3 til SQL Server 2008 R2 Service Pack 2
 Bemærk, at da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2008 R2 Service Pack 2-rettelser. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2730301 De SQL Server 2008 R2-builds, der blev udgivet efter SQL Server 2008 R2 Service Pack 2 blev udgivet

SQL Server 2012

Rettelsen til dette problem blev først udgivet i Cumulative Update 4. Få flere oplysninger om, hvordan du henter denne kumulative opdateringspakke til SQL Server 2012, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2758687 kumulativ opdateringspakke 4 til SQL Server 2012
 Bemærk: Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige version af SQL Server 2012-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2692828 De SQL Server 2012-builds, der blev udgivet efter SQL Server 2012 blev udgivet

SQL Server 2008 R2 Service Pack 1

Rettelsen til dette problem blev først udgivet i den samlede opdatering 8. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 R2 Service Pack 1, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2723743 Samlet opdateringspakke 8 til SQL Server 2008 R2 SP1Bemærk Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, som fulgte med den forrige version af SQL Server 2008 R2 Service Pack 1-rettelser. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2567616 De SQL Server 2008 R2-builds, der blev udgivet efter SQL Server 2008 R2 SP1 blev udgivet