KB3074425 - DÜZELTME: SQL Server 2012 veya SQL Server 2014'te çok sayıda geçici sorgu yürüttüğünüzde CMEMTHREAD beklemeleri oluşur

Uygulandığı Öğe
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Belirtiler

Microsoft SQL ServerSQL Server 2012 veya SQL ServerSQL Server 2014 veritabanında birçok istatistik ve tablonuz olduğunu ve tabloların birçok sütun içerdiğini varsayalım. Bu tablolardan eşzamanlı olarak veri almak için çok sayıda geçici sorgu yürüttüğünüzde, yürütme sırasında CMEMTHREAD beklemeleriyle karşılaşabilirsiniz.

Çözüm

Toplu Güncelleştirme bilgileri

Sorun ilk olarak aşağıdaki toplu SQL Server güncelleştirmesinde düzeltilmiştir.

Öneri: SQL Server için en son toplu güncelleştirmeyi yükleyin

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmeleri indirip yüklemenizi öneririz:

      

Daha Fazla Bilgi

SQL Server 2012'de bir sorguyu derlediğinizde veya yeniden derlediğinizde, altyapının istatistik histogramından giriş alması gerekir. Bir sistem tablosu taraması yapmamız ve ardından ilgili tabloların belirli histogramını belleğe veya önbelleğe yüklememiz gerekiyor. Bu sistem tablosu girişleri (istatistikler için) Sistem Tablosu önbelleğinde (CACHESTORE_SYSTEMROWSET) depolanır. Önbellekte bu girişleri oluşturmak için kullanılan bellek nesnesi bölümlenmemiştir ve geneldir.

Bu nedenle, bu işlem sırasında gerçekleştirilen eşzamanlı bellek ayırmalarınız varsa, bu bellek nesnesinde CMEMTHREAD beklemeleriyle karşılaşırsınız. Bu genellikle derleme veya yeniden derleme gerektiren çok sayıda sorgu gönderdiğinizde ortaya çıkar.

Bu düzeltme, Sistem Tablosu önbelleğini kullanan eşzamanlı bellek ayırmalarının çekişmeyle karşılaşmaması ve CMEMTHREAD'in beklememesi için bölümlenecek genel bellek nesnesini değiştirir.

Benzer sorun hakkında daha fazla bilgi için bkz. KB 3026082: DÜZELTME: SQL Server 2012 veya 2014'te sistem tablosu satır kümesi önbelleğindeki SOS_CACHESTORE spinlock çakışması yüksek CPU kullanımına neden oluyor.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.