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
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:
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