Gejala
Saat Anda menggunakan contoh baru Microsoft SQL Server 2016 (atau 2017) atau contoh SQL Server 2016 (atau 2017) yang dimutakhirkan dari versi SQL Server yang lebih lama, Anda mengalami masalah kinerja karena penggunaan CPU yang tinggi. Selain itu, jika Anda membuat kueri tabel sys.dm_os_spinlock_stats , Anda melihat nilai tinggi di kolom putar untuk baris SECURITY_CACHE (Singgahan Keamanan) dan CMED_HASH_SET (Singgahan Metadata) (dibandingkan dengan baris lain dalam tabel). Misalnya, Anda melihat nilai berikut ini.
Penyebab
Masalah ini terjadi karena kandungan high spin lock dalam sistem yang sangat serentak. Dalam sistem operasi ini, beberapa utas CPU bersaing untuk sumber daya dan berputar untuk interval yang diperpanjang sementara mereka berjalan secara berkala untuk menentukan apakah sumber daya tersedia dan bukan langsung menghasilkan. Ketika beberapa utas CPU terus berputar (dalam beberapa saat berulang) untuk sumber daya, bukan menghasilkan, hal ini menyebabkan masalah penggunaan dan kinerja CPU yang tinggi.
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:
Note Setelah Menerapkan SQL Server 2 (CU2) Pembaruan Kumulatif 2 (CU2) 2016, nama SECURITY_CACHE dan CMED_HASH_SET diubah menjadi LOCK_RW_SECURITY_CACHE dan LOCK_RW_CMED_HASH_SET. Setelah CU2 diterapkan, nilai muncul sebagai berikut.
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.
Dokumen putih Mendiagnosis dan Mengatasi Konten Spinlock pada SQL Server membahas masalah dan resolusi yang terkait dengan konten spinlock secara mendetail.