Simptomai
Kai naudojate naują egzempliorių "Microsoft SQL Server" 2016 (arba "2017") arba "SQL Server 2016" (arba "2017") egzempliorius, atnaujinus iš ankstesnės versijos "SQL Server", kyla veikimo problemų dėl didelio CPU naudojimo. Be to, jei užklausiate sys.dm_os_spinlock_stats lentelę, pastebite didelę reikšmę , esančiąSECURITY_CACHE (saugos talpyklos) ir CMED_HASH_SET (metaduomenų talpyklos) eilutėms (palyginti su kitomis lentelės eilutėmis). Pvz., pastebite šias reikšmes.
Priežastis
Ši problema kyla dėl didelio sukimo užrakto tvirtinimas labai lygiagrečių sistemų. Naudojant šias operacines sistemas, daug CPU gijų konkuruoja dėl išteklių ir verpimo, kad būtų galima naudoti išplėstinį intervalą, kai jie paleisti ciklą periodiškai, kad nustatytų, ar išteklius galima naudoti, o ne iš karto duoda. Kai kelios CPU gijos saugo išgręžimą ( tam tikrą ciklą) , o ne duoda išteklių, tai lemia didelį CPU naudojimą ir veikimo problemas.
Sprendimas
Ši problema išspręsta šiuose kaupiamajame SQL serverio naujinimuose:
Pastaba Pritaikius SQL serverio 2016 kaupiamąjį naujinimą 2 (CU2), SECURITY_CACHE ir CMED_HASH_SET vardai pakeičiami atitinkamai LOCK_RW_SECURITY_CACHE ir LOCK_RW_CMED_HASH_SET. Pritaikius CU2, reikšmės pasirodo taip.
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Naujausias Kaupiamasis naujinimas, skirtas "SQL Server 2017"
Naujausias Kaupiamasis naujinimas, skirtas "SQL Server 2016"
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.
Nuorodos
Sužinokite apie terminologiją , kurią "Microsoft" naudoja programinės įrangos naujinimams apibūdinti. Baltojoje knygoje diagnozuojamos ir sprendžiamos sukimosi užraktas tvirtinimas "SQL Server" aptaria problemas ir rezoliucijas, susijusias su "sukimosi užraktas" tvirtinimu.