Belirtiler
Aşağıdaki senaryoyu inceleyin:
-
Microsoft SQL Server 2012 ' de alt saklı yordamı içeren bir saklı yordamınız vardır.
-
Alt saklı yordamı parametre olarak bir tablo kullanır.
-
Geçici bir tablo oluşturun ve bunu parametre olarak alt saklı yordamına geçirirsiniz.
-
Alt saklı yordamı, imleçler kullanarak bazı sorguları geçici tabloya karşı çalıştırır.
Bu senaryoda, SQL Server 2012 'in performansını düşürür.
Çözüm
Toplu güncelleştirme bilgileri
SQL Server 2012 Service Pack 1 (SP1) için toplu güncelleştirme 3
Bu sorunla ilgili düzeltme ilk olarak toplu güncelleştirme 3 ' te yayımlanmıştır. SQL Server 2012 SP 1 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2812412 SQL Server 2012 Service Pack 1 için toplu güncelleştirme paketi 3Not Derlemeler birikimli olduğu için, her yeni düzeltme sürümü önceki SQL Server 2012 SP 1 düzeltme sürümü ile sağlanan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünebilirsiniz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2772858 SQL Server 2012 Service Pack 1 ' den sonra yayınlanan SQL Server 2012 derlemeleri
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
Aşağıdaki tablo, SQL Server örneğindeki ve kuralın değerlendirilme SQL Server sürümlerinde anlatılan koşulların otomatik olarak denetleyen ürünler veya araçlarla ilgili daha fazla bilgi sağlar:
Kural yazılımı |
Kural başlığı |
Kural açıklaması |
Kuralın değerlendirilme ürün sürümleri |
---|---|---|---|
System Center Danışmanı |
SQL Server 2012 ' deki iç içe geçmiş bir yordamda geçici bir tabloda sorgu çalıştırıldığında SQL Server 'da bellek sızıntısı |
Bu SQL Server örnek Danışmanı 'nda, bellek sızıntısı sorunu için sabit yapıdan daha düşük bir SQL Server derlemesi olduğunu algıladı. Bu durum, daha fazla imleç kullanan geçici tabloları kullanan, alt saklı yordamı içeren bir saklı yordamınız olduğunda gerçekleşebilir. Sys.dm_os_memory_clerks MEMORYCLERK_SQLOPTIMIZER fark edebilirsiniz ve çok yüksek sys.dm_os_memory_objects MEMOBJ_EXECCOMPILETEMP. Daha fazla ayrıntı için KB makalesine bakın. |
SQL Server 2012 |