Pazīmes
Pēc SQL Server 2014 Service Pack 1 (SP1), SQL Server 2012 SP3 vai SQL Server 2016 instalēšanas vaicājumu veiktspēja ir lēna un paaugstināts priviliģētā (kodola) režīma CPU lietojums līdz servera restartēšanai. Var būt vērojams arī liels PAGELATCH_* gaidīšanas gadījumu skaits.
Risinājums
Problēma tika novērsta šādos kumulatīvajos SQL Server atjauninājumos:
- SQL Server 2016 2. kumulatīvais atjauninājums
- SQL Server 2012 3. servisa pakotnes (SP3) 5. kumulatīvais atjauninājums
- SQL Server 2014 SP1 7. kumulatīvais atjauninājums
Ieteikums: instalējiet jaunāko kumulatīvo atjauninājumu serverim SQL Server
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Ieteicams lejupielādēt un instalēt jaunākos kumulatīvos SQL Server atjauninājumus:
- Jaunākais kumulatīvais atjauninājums SQL Server 2016
- Jaunākais kumulatīvais atjauninājums SQL Server 2012 SP3
- Jaunākais kumulatīvais atjauninājums SQL Server 2014 SP1
Iemesls
SQL Server izmanto dinamisko aizbīdņa paaugstināšanas un pazemināšanas loģiku (super/sub-latch). Tas uzlabo SQL Server veiktspēju un mērogojamību, sekojot līdzi aizbīdņa iegūšanas skaitam un tam, cik ilgs laiks būtu nepieciešams, lai iegūtu to pašu aizbīdni, ja nav aizbīdņa strīdu. Pēc tam piemērotie aizbīdņi tiek paaugstināti (super-latch), pamatojoties uz šo modeli. Ja kaudzē vai BTree (HoBT) ir daudz izmaiņu (ievieto/atjauninājumu/dzēšanas), ar HoBT saistītie aizbīdņi var tikt paaugstināti uz super aizbīdņa statusu. Tomēr pazemināšana nenotiek automātiski. Vairāk par super/sub-aizbīdni varat lasīt šajā rakstā.
Ja šie HoBT vēlāk tiek izvietoti, atbrīvotais HoBT atgriežas globālā kešatmiņā atkārtotai izmantošanai. Kad šis HOBT tiek izmantots atkārtoti, tas atkārtoti izmanto iepriekš reklamēto aizbīdni, pat ja nav strīdu par HoBT. Tas palielina centrālā procesora papildu izmaksas. Šī darbība palielina SQL Server priviliģētā (kodola) režīma CPU lietojumu līdz servera restartēšanai. Šis pieaugums parasti pievieno ne vairāk kā vairākas mikrosekundes ar katru izpildi. Jūs varat arī redzēt lielu PAGELATCH_* gaidīšanas apjomu, jo šie pagarinātie HoBT aizbīdņi.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".