Popravak: "postupak nije moguće izvršiti" poruka o pogrešci kada postavite vrijednost koja nije nula u parametru MaxCmdsInTran Agent čitač zapisnika u SQL Server 2008 R2 ili SQL Server 2012.

Vrijedi za: Microsoft SQL Server 2008 R2 Service Pack 1

Microsoft raspodjeljuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 rješava u jednu preuzeti datoteku. Jer su kumulativne popravke, svako novo izdanje sadrži sve hitne popravke i ažuriranja sigurnosti koji su obuhvaćeni s prethodnim SQL Server 2008 R2 Service Pack 1 (SP1) ili Microsoft SQL Server 2012 ažuriranja izdanje.

Simptomi


Razmotrite sljedeći scenarij:
  • Stvorite najmanje dvije publikacije transakcijskih replikacije temelji na bazi podataka u Microsoft SQL Server 2008 R2 ili u Microsoft SQL Server 2012..
  • Svaka publikacija ima najmanje jedan članka. Članci se preklapaju i svaki članak pripada samo jednu publikaciju.
  • Postavite svojstvo @sync_method publikacije za Istodobni.
  • Postavite svojstvo @immediate_sync publikacije na True.
  • Parametar MaxCmdsInTran Agent čitač zapisnika postavite na vrijednost koja nije nula.
  • Jedna od publikacija prima mnogo umeće u jednu transakciju.
  • Nakon predano transakcije čitač Agent zapisnika počinje postupak i podijeliti transakcije prema parametar MaxCmdsInTran .
  • Agent snimka na drugu publikaciju pokreće prije čitač Agent zapisnika Završi zadatak.
U ovom scenariju ne uspije čitač Agent zapisnika i primiti sljedeću poruku o pogrešci:
Postupak nije moguće izvršiti sp_MSadd_replcmds na 'poslužitelj\instanca'. (Izvor: MSSQLServer, broj pogreške: 1007) Nije moguće umetnuti duplikata ključa redak u objekt ' dbo. MSrepl_commands' s jedinstveni indeks 'ucMSrepl_commands'. (Izvor: MSSQLServer, broj pogreške: 1007)

Rješenje


Informacije o kumulativnom ažuriranju

SQL Server 2012.

Popravak ovog problema prvo objavio u kumulativnu Update 1 za 2012 SQL poslužitelja. Dodatne informacije o ovom kumulativnim ažuriranjem paketa kliknite sljedeći broj članka u Microsoftovoj bazi znanja:
2679368 Kumulativnim ažuriranjem paketa 1 za SQL Server 2012.
Napomena Jer su kumulativne na izgradi, svako novo izdanje popravak sadrži sve hitnih popravaka i ispravite sve sigurnosne popravke koji su obuhvaćeni s prethodnim SQL Server 2012 izdanju. Microsoft preporučuje razmotrite primjenom najnovije izdanje popravak koji sadrži ovaj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2692828 Izgrađuje 2012 SQL Server koji su izdani nakon lansirani 2012 SQL poslužitelja.
Instalaciju SQL poslužitelja 2012 morate primijeniti hitni popravak 2012 SQL poslužitelja.

Kumulativno ažuriranje paket 4 za SQL Server 2008 R2 SP1

Popravak ovog problema prvo Lansiran u kumulativnu 4 Update. Dodatne informacije o nabavljanju paketa kumulativnim ažuriranjem za SQL Server 2008 R2 SP1 kliknite sljedeći broj članka u Microsoftovoj bazi znanja:
2633146 Kumulativno ažuriranje paket 4 za SQL Server 2008 R2 SP1
Napomena Jer su kumulativne na izgradi, svako novo izdanje popravak sadrži sve hitnih popravaka i ispravite sve sigurnosne popravke koji su obuhvaćeni s na prethodnu SQL Server 2008 R2 SP1 izdanje. Preporučujemo da razmotrite primjenom najnovije izdanje popravak koji sadrži ovaj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:
2567616 SQL Server 2008 R2 izgrađuje koji su izdani nakon izdavanja servisnog paketa SQL Server 2008 R2 SP1

Zaobilazno rješenje


Problem se zaobilazno može riješiti na sljedeće načine:
  • Postavite svojstvo @sync_method publikacija za "Istodobni" i postavite svojstvo @immediate_sync publikacija "true".
  • Postavite vrijednost parametra MaxCmdsInTran na nulu.

Status


Microsoft je potvrdio da se taj problem pojavljuje u Microsoftovim proizvodima navedenima u odjeljku "Odnosi se na".