Simptomi
Nakon instalacije sustava SQL Server 2014 Service Pack 1 (SP1), SQL Server 2012 SP3 ili SQL Server 2016, možete doživjeti spore performanse upita i povišeni privilegirani (kernel) način korištenja CPU-a dok se poslužitelj ponovno ne pokrene. Možda ćete vidjeti i veliku količinu PAGELATCH_ * čekanje.
Rješenje
Problem je riješen u sljedećim kumulativnim ažuriranjima sustava SQL Server:
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:
Uzrok
SQL Server koristi dinamičku promociju i degradaciju brave (super/subzasun). Time se poboljšava performanse i skalabilnost sustava SQL Server tako da prate broj prihvata na zasun i koliko dugo bi trebalo potrajati da bi se stekla ista brava ako nijedna tvrdnja o zatvaranju nije postojala. Zatim se promoviraju prihvatljive latčeve (super-brava) na temelju ovog modela. Kada postoje mnoge promjene (umeće/ažuriranja/brisanja) na hrpi ili BTree (HoBT), veze koje se povezuju sa Hobtom mogu biti promaknute u status super-brava. Međutim, smanjivanje se ne pojavljuje automatski. Možete pročitati više o super/sublatching u ovom članku. Ako se ovi Hobci kasnije nalaze na Dealu, oslobođeni HoBT vraća se u globalnu predmemoriju za ponovnu upotrebu. Kada se taj HOBT ponovno koristi, ponovno koristi prethodno unaprijeđena brava, čak i kada nema nikakvih svađa na HoBT-u. Time se dodaje Centralna procesorska jedinica. To ponašanje povećava privilegirani (kernel) način korištenja CPU-a sustava SQL Server dok se poslužitelj ponovno ne pokrene. Ovo povećanje obično ne zbraja više od nekoliko mikrosekunda uz svako izvršavanje. Možda ćete vidjeti i visok volumen PAGELATCH_ * čeka zbog tih proširenih super-lateva na HoBTs.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".