Simptomi
Pretpostavimo da koristite replikaciju objedinjavanja u sistemu Microsoft SQL Server 2012 ili Microsoft SQL Server 2014. Kao deo procesa sinhronizacije, agent za objedinjavanje kreira novu generaciju u sesiji. Ako je iz nekog razloga, kao što je zastoj ili time-out, transakcija generacije koja je izabrana kao žrtva zastoja, a transakcija se vrati, može postojati veliki lanac blokiranja za MSinternal_makegeneration_inprog zaključavanje aplikacija u predstojećoj generaciji, a prethodno pomenuta sesija je prikazana kao blokator glave.
Uzrok
Zaključavanje aplikacije koje se koristi za obezbeđivanje procesa kreiranja generacije je zaključavanje aplikacije na nivou sesije. Kada se otkrije mrtva tačka tokom procesa generisanja, samo se transakcija vraća, ali sesija nije odjavljena. Da biste oslobodili zaključavanje aplikacije na nivou sesije, sesija mora da se odjavi. Zbog toga, zbog dizajna logike ponovnog pokušaja (sesija neće biti odjavljena tokom generisanja koja pravi neuspeh u replikaciji objedinjavanja), ako prva generacija koja izvršava ne uspe sa mrtvom tačkom, zaključavanje sesije (MSinternal_makegeneration_inprog) koje je dobila neće biti otpušteno tokom vraćanja transakcije. To uzrokuje blokiranje lanca zahteva za zaključavanje u procesu izrade predstojeće generacije. Blokator glave je prikazan kao prva generacija koja pravi zahtev koji ne uspeva sa zastojem.
Pre hitne ispravke, SQL Server samo briše zaključavanje za uspešan proces generisanja. Ako dođe do mrtve pete, to ostavlja zaključavanje aplikacije sesije pre odjavljivanja sesije.
Rešenje
Ovaj problem je prvi put rešen u sledećoj kumulativnoj ispravci sistema SQL Server.
Kumulativna ispravka 5 za SQL Server 2014 /en-us/help/3011055
Kumulativna ispravka 3 za SQL Server 2012 SP2 /en-us/help/3002049
Osnovni podaci o kumulativnim ispravkama za SQL Server
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
- Najnovija kumulativna ispravka za SQL Server 2014
- Najnovija kumulativna ispravka za SQL Server 2012 SP2
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.