Microsoft distribuira ispravke za Microsoft SQL Server 2008 R2 servisni paket 1 (SP1) ili Microsoft SQL Server 2012 u jednoj datoteci koja se može preuzeti. Pošto su ispravke kumulativne, svako novo izdanje sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje sql Server 2008 R2 servisnog paketa 1 (SP1) ili Microsoft SQL Server 2012.
Simptomi
Razmotrite sledeći scenario:
-
Kreirate najmanje dve publikacije replikacije transakcija na osnovu jedne baze podataka u sistemu Microsoft SQL Server 2008 R2 ili Microsoft SQL Server 2012.
-
Svaka publikacija ima najmanje jedan članak. Članci se ne preklapaju i svaki članak pripada samo jednoj publikaciji.
-
Svojstvo @sync_method publikacija postavljate na "Uporedno".
-
Svojstvo publikacija @immediate_sync postavite na vrednost True.
-
Podesili ste MaxCmdsInTran parametar agenta čitača evidencije na vrednost koja nije 1000.
-
Jedna od publikacija dobija mnogo umetanja u jednoj transakciji.
-
Nakon izvršene transakcije, agent čitača evidencije počinje da obrađuje i deli transakciju u skladu sa parametrom MaxCmdsInTran.
-
Agent snimka u drugoj publikaciji počinje pre nego što agent čitača evidencije završi zadatak.
U ovom scenariju, agent čitača evidencije ne uspe i dobijate sledeću poruku o grešci:
Proces nije mogao da izvrši 'sp_MSadd_replcmds' na 'server\instance'. (Izvor: MSSQLServer, broj greške: 1007) Nije moguće umetnuti duplirani red ključa u objekat 'dbo. MSrepl_commands' sa jedinstvenim indeksom 'ucMSrepl_commands'. (Izvor: MSSQLServer, broj greške: 1007)
Rešenje
Kumulativne informacije o ažuriranju
SQL Server 2012
Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 1 za SQL Server 2012. Za više informacija o ovom paketu kumulativnih ispravki kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2679368 Kumulativni paket ispravki 1 za SQL Server 2012Napomena Pošto su verzije kumulativne, svako novo izdanje ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje ispravki za SQL Server 2012. Microsoft preporučuje da razmislite o primeni najnovijeg izdanja ispravke koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2692828 SQL Server 2012 builds koji su objavljeni nakon što je SQL Server 2012 objavljen Morate primeniti hitnu ispravku za SQL Server 2012 na instalaciju sistema SQL Server 2012.
Kumulativni paket ispravki 4 za SQL Server 2008 R2 SP1
Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 4. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 SP1 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2633146 Kumulativni paket ispravki 4 za SQL Server 2008 R2 SP1Napomena Pošto su verzije kumulativne, svako novo izdanje ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje ispravke za SQL Server 2008 R2 SP1. Preporučujemo da razmislite o primeni najnovijeg izdanja ispravke koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2567616 SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 SP1 was released
Rešenje
Da biste rešili ovaj problem, upotrebite jedan od sledećih metoda:
-
Nemojte postavljati @sync_method publikacija na "uporedno" i ne posagaрajte @immediate_sync svojstvo publikacija na "istina".
-
Postavite vrednost parametra MaxCmdsInTran na nulu.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".