Sümptomid
Kui kasutate Microsoft SQL Server 2016 (või 2017) uut eksemplari või SQL Server 2016 (või 2017) versiooni, mis on täiendatud varasemast SQL serveri varasemast versioonist, ilmneb jõudluse probleemid suure PROTSESSORI kasutuse tõttu. Kui esitate päringu sys.dm_os_spinlock_stats tabelile, märkate SECURITY_CACHE (turbe vahemälu) ja spinsCMED_HASH_SET (metaandmete vahemälu) ridu (võrreldes tabeli muude ridadega) suurt väärtust. Näiteks märkate järgmisi väärtusi.
Põhjus
See probleem ilmneb suure spin Lock rahulolu väga samaaegne süsteem tõttu. Nendes opsüsteemides konkureerivad mitme PROTSESSORI lõimed ressurssidega ja pöörlevad pikema intervalliga, kui nad töötavad silmuses perioodiliselt, et kindlaks teha, kas ressurss on saadaval koheseks saades. Kui mitu CPU niidid hoiavad ketramiseks ( samas silmuses) selle asemel, et saada TULEMUSEKS suur CPU kasutus ja jõudluse probleemid.
Lahendus
See probleem lahendati SQL serveri järgmiste kumulatiivsete värskendustega.
Märkus. Pärast SQL Serveri 2016 kumulatiivse värskenduse 2 (CU2) rakendamist muudetakse SECURITY_CACHE ja CMED_HASH_SET nimed vastavalt LOCK_RW_SECURITY_CACHE ja LOCK_RW_CMED_HASH_SET. Pärast CU2 rakendamist kuvatakse väärtused järgmiselt.
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.
Viited
Siit leiate teavet selle kohta, mida Microsoft kasutab tarkvaravärskenduste kirjeldamiseks. Valge raamat, mis diagnoosib ja lahendab SQL serveri spinlock , arutab spinlock sisuga seotud probleeme ja resolutsioone.