Belirtiler
Aşağıdaki senaryoyu inceleyin:
-
Microsoft SQL Server 2014 veya SQL Server 2012 'de bir yordam çalıştırırsınız.
-
Yordamda aşağıdaki koşullar vardır:
-
Çok sık güncelleştirilen bir tabloya katılır.
-
Parametre içeren WHERE yan tümcesi vardır.
-
Seçeneği (yeniden derleyin) kullanır.
-
-
Bu yordam, farklı parametre değerleri kümelerine sahip birden çok eşzamanlı bağlantı üzerinde çalışır.
-
Sunucunuz, bu yordamların her birinin normalden daha uzun sürmesine neden olan ağır bir yükün altındadır.
Bu senaryoda, bağlantı derlemesinin sonu ile bağlantınızdaki sorgu yürütme başlangıcı arasında gerçekleşen zaman aralığında aşağıdaki ek koşullar karşılanıyorsa, bağlantınızda çalıştırılan yordamdan yanlış sonuçlar alabilirsiniz:
-
Koşul 1: başka bir eşzamanlı bağlantı, bağlantılı tabloda, bağlantınızın bir başka yeniden derlemesini tetikleyecek kadar büyük olan güncelleştirmeleri yapar.
-
Koşul 2: aynı sorgu başka bir bağlantıdan yeniden derlenmişti ve ardından önbelleğe koyululur.
Önemli Bu zamanlama sorunu çok seyrek.
Neden
Bu sorun, sorgudan sorguyu çalıştırdıktan sonra sorgunun parametre değerlerinin yanlış değerlerle değiştirilmesinden kaynaklanır. Bu, yinelenen derlemeler arasında bulunan çok nadir bir zamanlama sorunu nedeniyle gerçekleşir.
Çözüm
Sorun ilk olarak SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir.
SQL Server 2014 için toplu güncelleştirme 4 /en-us/help/2999197
SQL Server 2012 SP2 için toplu güncelleştirme 2 /en-us/help/2983175
SQL Server 2012 SP1 için toplu güncelleştirme 11 /en-us/help/2975396
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini gözden geçirin:
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.