Belirtiler
SQL Server'da uzak sunucu olarak kullanılan ve kullanıcının VIEW DEFINITION iznine sahip olmayan filtrelenmiş dizine sahip bir tabloda toplamalar ve birleştirmeler ile bir sorgu çalıştırmış olduğunu varsayalım (örneğin: GROUP BY ILE SAY). Bu senaryoda, bağlantılı sunucu filtrelenmiş dizini tam benzersiz bir dizin olarak kabul ediyor ve sorgu yanlış sonuçlar döndürıyor.
Daha fazla bilgi
Bir uzak sorguyu çalıştırabilirsiniz, bağlantılı sunucu işlemi sorguyu en iyi duruma getirmek için dizin meta verilerini kullanır. Sorgulanan veritabanı için VIEW DEFINITION izninizin olmadığınız zaman, meta veriler dizinin filtrelenmiş bir dizin olduğunu gösterir ve sorgu iyileştiricisi dizini tam benzersiz bir dizin olarak kabul eder. Bu düzeltme, Sorgu İyileştiricisi'nin dikkate alınması için VIEW DEFINITION izniniz olmadan filtrelenmiş dizinin dizin meta verilerini düzeltir.
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Çözüm
Bu sorun, SQL Server'a ilişkin aşağıdaki toplu güncelleştirmelerde düzeltilmiştir:
-
SQL Server 2017 toplu 22 Güncelleştirmesihttps://support.microsoft.com/help/4577467
-
SQL Server 2016 SP2 için Toplu Güncelleştirme 15https://support.microsoft.com/help/4577775
Not: Bu düzeltme uzak bağlantılı sunucuya uygulanmalıdır.
SQL Server toplu güncelleştirmeleri hakkında:
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmede yer alan 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 atabilirsiniz:
Geçici Çözüm
Bu sorunu gidermek için aşağıdaki yöntemlerden birini deneyin:
-
Filtrelenmiş dizini kaldırın.
-
Kullanıcıya görünüm tanımı ver. Ex: GRANT VIEW DEFINITION TO test_user;
Başvurular
Microsoft'un yazılım güncelleştirmelerini açıklamak için kullandığı terminoloji hakkında bilgi alın.