Microsoft distribuira popravke servisnog paketa Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 u jednoj datoteci koja se može preuzeti. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sigurnosna ažuriranja obuhvaćena prethodnim izdanjem ažuriranja servisnog paketa 1 (SP1) za SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012.
Simptomi
Razmotrite sljedeći scenarij:
- U sustavu Microsoft SQL Server 2008 R2 ili Microsoft SQL Server 2012 stvorili ste najmanje dvije publikacije o transakcijskoj replicaciji temeljene na jednoj bazi podataka.
- Svaka publikacija sadrži najmanje jedan članak. Članci se ne preklapaju, a svaki članak pripada samo jednoj publikaciji.
- Svojstvo @sync\_method publikacija postavite na Istodobno.
- Svojstvo @immediate\_sync publikacija postavljate na True.
- Parametar MaxCmdsInTran agenta čitača zapisnika postavite na vrijednost koja nije nula.
- Jedna od publikacija prima više umetaka u jednoj transakciji.
- Kada izvršite transakciju, agent čitača zapisnika počinje obrađivati i dijeliti transakciju u skladu s parametrom MaxCmdsInTran.
- Agent za snimke stanja u drugoj publikaciji započinje prije nego što agent čitača zapisnika dovrši zadatak.
U tom scenariju agent čitača zapisnika ne funkcionira i prikazuje se sljedeća poruka o pogrešci:
Napomena
Proces se ne može izvršiti "sp_MSadd_replcmds" na "poslužitelju\instanci".
(Izvor: MSSQLServer, broj pogreške: 1007)
Nije moguće umetnuti duplicirani redak ključa u objekt 'dbo. MSrepl_commands' s jedinstvenim indeksom 'ucMSrepl_commands'.
(Izvor: MSSQLServer, broj pogreške: 1007)
Rješenje
Kumulativni podaci o ažuriranju
SQL Server 2012
Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 1 za SQL Server 2012. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem
2679368 Paket kumulativnog ažuriranja 1 za SQL Server 2012Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2012. Microsoft preporučuje da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2692828 međuverzije SQL Server 2012 koje su izdane nakon objave SQL Server 2012 Na instalaciju sustava SQL Server 2012 morate primijeniti hitni popravak SQL Server 2012.
Paket kumulativnog ažuriranja 4 za SQL Server 2008 R2 SP1
Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 4. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2008 R2 SP1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
2633146 Paket kumulativnog ažuriranja 4 za SQL Server 2008 R2 SP1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008 R2 SP1. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2567616 međuverzije SQL Server 2008 R2 izdane nakon izdanja sustava SQL Server 2008 R2 SP1
Zaobilazno rješenje
Problem se zaobilazno može riješiti na sljedeće načine:
- Nemojte svojstvo publikacija postavljati @sync\_method na "istodobne" i nemojte svojstvo @immediate\_sync publikacija postavljati na "true".
- Postavite vrijednost parametra MaxCmdsInTran na nulu.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.