KB2887899 - DÜZELTME: SQL Server 2012 veya SQL Server 2014'te büyük bir tablonun uzamsal veri türünde dizin oluşturduğunuzda yavaş performans

Uygulandığı Öğe
SQL Server 2012 Developer SQL Server 2012 Enterprise 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

Büyük bir tablonun uzamsal veri türünde dizin oluşturmaya çalıştığınızda (CREATE INDEX veya ALTER INDEX kullanarak), Microsoft SQL Server 2012 veya SQL Server 2014 performansı kötü performans gösterebilir. SOS_CACHESTORE ve SOS_SELIST_SIZED_SLOCK'de birçok spinlock çekişmesi bulabilirsiniz.

Çözüm

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

SQL Server 2014 için Toplu Güncelleştirme 1 /en-us/help/2931693

SQL Server 2012 SP1 için Toplu Güncelleştirme 7 /en-us/help/2894115

SQL Server toplu güncelleştirmeleri hakkında

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ştirmelere göz atın:

      

Düzeltme güncelleştirme paketi bilgileri Desteklenen bir düzeltme Microsoft tarafından sunulmaktadır. Ancak, bu düzeltme yalnızca bu makalede açıklanan sorunu düzeltmeye yöneliktir. Bu düzeltmeyi yalnızca bu sorunun yaşandığı sistemlere uygulayın.

Düzeltme indirilebilir durumdaysa, bu Bilgi Bankası makalesinin en üstünde "Düzeltme İndirme Kullanılabilir" bölümü bulunmaktadır. Bu bölüm görünmüyorsa, düzeltmeyi edinmek için Microsoft Müşteri Hizmetleri ve Desteği'ne bir istek gönderin.

Not Başka sorunlar oluşursa veya sorun giderme gerekirse ayrı bir hizmet isteği oluşturmanız gerekebilir. Genel destek maliyetleri, ek destek soruları ve bu özel düzeltme için uygun olmayan sorunlara uygulanır. Microsoft Müşteri Hizmetleri ve Desteği telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft web sitesini ziyaret edin:

/contactus/?ws=support Not "Düzeltme İndirme Kullanılabilir" formu, düzeltmenin kullanılabildiği dilleri görüntüler. Dilinizi göremiyorsanız, bunun nedeni o dil için bir düzeltme olmamasıdır.

Daha Fazla Bilgi

Spinlock'lar, ortak dil çalışma zamanı (CLR) yordamı önbellek girdilerini korur. Oluşturulan veya değiştirilen bir dizin için sorgu planı genellikle bir Apply işleci veya İç İçe Geçmiş LoopLoop işleci içerir. JOIN işleminin dış tarafı, uzamsal tablodan satırları döndürür ve uzamsal işlevi yönlendirir. İşlev her çağrıldığında, bir spinlock kullanılabilir. Sorgu yüksek paralellik dereceleriyle çalıştığında, spinlock'lar bir performans sorununa neden olabilir. Aşağıdaki diyagram böyle bir uzamsal plan örneğidir.

Mekansal plan

Durum

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

Başvurular

SQL Server 2012'de büyük bir tablonun uzamsal veri türünde dizin oluştururken ortaya çıkan başka bir performans sorunu hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2887888 DÜZELTME: SQL Server 2012 örneğinde büyük bir tablonun uzamsal veri türünde dizin oluşturduğunuzda SQL Server'da performans yavaş