KB982857 – Åtgärd: Distributionsagenten misslyckas med felkoden 20598 när en publikationsdatabas är konfigurerad med alternativet Read Committed Snapshot

Gäller för
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

Microsoft distribuerar Microsoft SQL Server 2008- och Microsoft SQL Server 2008 R2-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny utgåva alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare korrigeringsversionen för SQL Server 2008 eller SQL Server 2008 R2.

Symptom

Tänk dig följande scenario i Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2:

  • Du konfigurerar en transaktionsreplikering för en databas.
  • Databasen konfigureras med alternativet read_committed_snapshot.
  • Replikeringen är konfigurerad till att använda den interna sync_method. Sedan initieras replikeringsprenumeranterna och en ögonblicksbild skapas för replikeringen.

I det här scenariot misslyckas distributionsagenten med felkoden 20598. Dessutom kan du få något av följande felmeddelanden:

  • Obs

    <Date Time> spid**<ID>** Replication-Replication Distribution
    Undersystem: agentens< agentnamn> misslyckades. Raden hittades inte hos abonnenten när det replikerade kommandot tillämpades.

  • Obs

    <Datum/tid> spid**<ID**> Fel: 14151, Allvarlighetsgrad: 18, Tillstånd: 1.

    <Date Time> spid**<ID>** Replication-Replication Distribution

    Undersystem: agentens< agentnamn> misslyckades. Överträdelse av PRIMARY KEY-begränsningen '<Primary key name>'. Det går inte att infoga en dubblettnyckel i objektet '<tabell i prenumeranten>'.

Orsak

Det här problemet beror på att ett lås saknas när ögonblicksbilden genereras för replikeringen.

Lösning

Information om kumulativ uppdatering

SQL Server 2008 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 9 för SQL Server 2008 Service Pack 1.

Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Microsoft rekommenderar att du installerar den senaste korrigeringsversionen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

970365 SQL Server 2008-versionerna som släpptes efter att Service Pack 1 SQL Server 2008 släpptes
Microsoft SQL Server 2008 snabbkorrigeringar skapas för specifika SQL Server Service Packs. Du måste använda en snabbkorrigering för SQL Server 2008 Service Pack 1 på en installation av SQL Server 2008 Service Pack 1. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.

SQL Server 2008 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2289254 Kumulativ uppdatering 1 för SQL Server 2008 Service Pack 2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2402659 De SQL Server 2008-versionerna som släpptes efter att SQL Server 2008 Service Pack 2 släpptes

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2345451 kumulativt uppdateringspaket 4 för SQL Server 2008 R2 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

981356 De SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 släpptes

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".

Referenser

Mer information om replikering av SQL Server finns på följande MSDN-webbplats (Microsoft Developer Network):

SQL Server -replikering Mer information om ögonblicksbildisolering finns på följande MSDN-webbplats:

Isolering av ögonblicksbilder Om du vill veta mer om modellen för inkrementell service för SQL Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
 

935897 En stegvis servicemodell är tillgänglig från SQL Server-teamet för att leverera snabbkorrigeringar för rapporterade problem

Om du vill veta mer om namnschemat för SQL Server uppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
 

822499 Nytt namnschema för Microsoft SQL Server programuppdateringspaketOm du vill veta mer om terminologi för programvaruuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

824684 Beskrivning av standardterminologin som används för att beskriva Microsofts programuppdateringar