Simptomi
Ja izmantojat jaunu Microsoft SQL Server 2016 (vai 2017) instanci vai SQL Server 2016 (vai 2017) instanci, kas ir jaunināta no vecākas SQL Server versijas, rodas veiktspējas problēmas, jo ir liels centrālā procesora lietojums. Turklāt, ja vaicājumu sys.dm_os_spinlock_stats tabulā, jūs pamanīsit lielu vērtību kolonnā spinsSECURITY_CACHE (drošības kešatmiņas) un CMED_HASH_SET (metadatu kešatmiņas) rindās (salīdzinot ar citām tabulas rindām). Piemēram, jūs pamanīsit tālāk norādītās vērtības.
Cēlonis
Šī problēma rodas liela spin bloķēšanas satura dēļ ļoti esošā sistēmā. Šajās operētājsistēmās vairāki centrālā procesora pavedieni konkurē ar resursiem un vērpšanai, lai iegūtu ilgāku intervālu, kamēr tie periodiski darbojas ciklā, lai noteiktu, vai resurss ir pieejams tūlīt. Ja vairāki centrālā procesora pavedieni saglabā vērpšanas ( kamēr cilpa) resursam, nevis tiek iegūts, tas izraisa lielu CPU izmantošanas un veiktspējas problēmu.
Risinājums
Šī problēma ir novērsta šādos kumulatīvos SQL Server atjauninājumos:
Piezīme. Pēc tam, kad lietojat SQL Server 2016 kumulatīvo atjauninājumu 2 (CU2), SECURITY_CACHE un CMED_HASH_SET nosaukumi attiecīgi tiek mainīti uz LOCK_RW_SECURITY_CACHE un LOCK_RW_CMED_HASH_SET. Pēc CU2, vērtības tiek rādītas šādi.
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus. Baltajā grāmatā par spinlock satura diagnostiku un atrisināšanu SQL serverī apspriež problēmas un risinājumus, kas detalizēti saistīti ar spinlock saturu.