Simptomi
Pretpostavimo da imate grupu "Uvek na dostupnosti" (AG) u sistemima SQL Server 2016 i 2017. Kada obrađujete upit za čitanje na sekundarnoj replici, performanse mogu biti mnogo sporije od primarne replike zbog čestih DIRTY_PAGE_TABLE_LOCK čekanja.
Uzrok
Do ovog problema dolazi zbog sporenja između upita za čitanje i ponovne niti i zato što je tabela zaključana.
Rešenje
Ova ispravka je uključena u sledeće ispravke za SQL Server:
Kumulativna ispravka 8 za SQL Server 2017
Kumulativna ispravka 1 za SQL Server 2016 servisni paket 2
Kumulativna ispravka 9 za SQL Server 2016 servisni paket 1
Osnovni podaci o SQL Server builds
Svaka nova verzija za SQL Server sadrži sve hitne ispravke i bezbednosne ispravke koje su bile u prethodnoj verziji. Preporučujemo da instalirate najnoviju verziju za svoju verziju sistema SQL Server:
Rešenje
Da biste zaobišli ovaj problem, možeteda koristite jednu ponovnu nit umesto paralelne ponovne niti tako što ćete omogućiti zastavicu za praćenje 3459.
Više informacija
Kada su upiti koji su samo za čitanje pokrenuti na čitljivoj sekundarnoj replici, niti upita pokušavaju da primene operacije ponovnog pokretanja evidencije na čekanju i moraju da sarađuju sa ponovnim radnim nitima sa DIRTY_PAGE_TABLE_LOCK čekanja, koje se često mogu generisati i usporiti i ponoviti performanse i izvršiti upit ako postoje uporedna ponavljanja radnih opterećenja. Problem sa performansama povezan sa DIRTY_PAGE_TABLE_LOCK čekanja rešava se u izdanju kumulativne ispravke za SQL Server 2016 SP i SQL Server 2017 koji su pomenuti u ovom članku.
Više informacija možete videti na sledećem blogu na lokaciji Availability group sekundarni replika redo model i performanse.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.