Belirtiler
Bir veya daha fazla dizini oluşturulmuş bir Microsoft SQL Server tablonuz olduğunu varsayalım. Tabloda sorgulama yaptığınızda, SQL Server karakter ve IKILI sütunlar için tutarsız veri doldurmayı gerçekleştirebilir. CHAR ve IKILI veri sütunlarının sonundaki sondaki boşlukları döndürmeyle ilgili tutarsız davranışı aşağıdaki koşullara bağlıdır:
-
SQL Server tablosunda sütunlar oluşturulduğunda ANSI_PADDING ayarları.
-
Sütunlarda tablo taraması veya dizin arama gerçekleştirme kararı.
Neden
Bazı senaryolarda, SQL Server daha hızlı veri teslimi için birçok işlemi atlamaya olanak tanıyan en iyi duruma getirme işlemini gerçekleştirebilir. Sorun, SQL Server 'ın yukarıdaki senaryo için en iyi duruma getirme uygulanamayacağını tanımadığı için oluşur.
Ek Bilgi
SQL Server 'ın bu davranışı, aşağıdaki makalede belgelenen davranışa uymuyor: char ve varchar verileri kullanma.
Bir Char NULL sütunu oluşturulduğunda ANSI_PADDING AÇıKSA, bir Char NULL sütunu ile aynıdır: değerler sütunun boyutuna sağ doldurulur. Bir Char NULL sütunu oluşturulduğunda ANSI_PADDING KAPALıYSA, ANSI_PADDING ayarla: sondaki boşluklar atılır.
Çözüm
Bu sorun, SQL Server için aşağıdaki toplu güncelleştirmelerde giderilmiştir:
SQL Server 2017 için toplu güncelleştirme 2
SQL Server 2016 için toplu güncelleştirme 9
SQL Server 2016 SP1 için toplu güncelleştirme 6
SQL Server 2014 SP2 için toplu güncelleştirme 8
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:
En son SQL Server 2017 toplu güncelleştirmesi
En son SQL Server 2016 toplu güncelleştirmesi
Durum
Microsoft bu sorunun, "Aşağıdakilere uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır
Başvurular
Microsoft 'un yazılım güncelleştirmelerini açıklamak için kullandığı terminolojihakkında bilgi edinin.