KB2658474-FIX: SqlConnection. GetSchema yöntemi SQL Server 2008, SQL Server 2008 R2 veya SQL Server 2012 'da bir tablonun şema bilgilerini aldığında yanlış sonuçlar

Microsoft, Microsoft SQL Server 2008 Service Pack 3 (SP3), Microsoft SQL Server 2008 R2 veya Microsoft SQL Server 2012 'i indirilebilir bir dosya olarak düzeltir. Düzeltmeler birikimli olduğundan, her yeni sürüm, önceki SQL Server 2008 Service Pack 3 (SP3), SQL Server 2008 R2 veya SQL Server 2012 düzeltme sürümü ile sağlanan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir.

Belirtiler

Bir tablonun şema bilgilerini almak için SqlConnection. GetSchema metodunu kullanan bir istemci uygulamanız olduğunu varsayalım. Bu tablo, nokta (.) içeren bir sütun adı içerir. Örneğin, tablodaki sütun adlarından biri "Sütun1. A." olur. Bu durumda, adı bir nokta içeren sütun, SqlConnection. GetSchema yönteminin döndürdüğü sonuçlarda yok.Not OleDbConnection. GetSchema yöntemini kullandığınızda bu sorun oluşmaz.

Neden

Sütunların izinlerini değerlendirmek için, SQL Server 2008 Service Pack 1 sys.spt_columns_view_managed sistem görünümündeki izinler işlevi yerine HAS_PERMS_BY_NAME işlevini kullanır. Ancak, bir sütun adı nokta içeriyorsa ve QUOTENAME işlevine dahil edilbelirtilmezse, HAS_PERMS_BY_NAME işlevi kullanıcıyı söz konusu sütun için yeterli izinlere sahip olarak nitelendirir. Bu nedenle, "Belirtiler" bölümünde açıklanan sorun gerçekleşir.

Çözüm

Toplu güncelleştirme bilgileri

SQL Server 2008 R2 Service Pack 2

Bu sorunla ilgili düzeltme ilk olarak SQL Server 2008 R2 Service Pack 2 için toplu güncelleştirme 1 ' de yayımlanmıştır. 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:

2720425 SQL Server 2008 R2 Service Pack 2 için toplu güncelleştirme paketi 1Not Derlemeler birikimli olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 R2 düzeltmesi sürümüyle birlikte gelen 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:

2730301 SQL Server 2008 R2 Service Pack 2 ' den sonra yayınlanan SQL Server 2008 R2 derlemeleri

SQL Server 2012

Bu sorunla ilgili düzeltme ilk olarak SQL Server 2012 için toplu güncelleştirme 2 ' de yayımlanmıştır. Bu toplu güncelleştirme paketi 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:

2703275 SQL Server 2012 için toplu güncelleştirme paketi 2Not Derlemeler birikimli olduğundan, her yeni düzeltme sürümü önceki SQL Server 2012 düzeltmesi sürümüyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltmeyi uygulamanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2692828 SQL Server 2012 sonrasında yayınlanan SQL Server 2012 derlemeleri SQL Server 2012 düzeltmesini SQL Server 2012 kurulumuna uygulamalısınız.

SQL Server 2008 R2 Service Pack 1

Bu sorunla ilgili düzeltme ilk olarak SQL Server 2008 R2 Service Pack 1 için toplu güncelleştirme 7 ' de yayımlanmıştır. 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:

2703282 SQL Server 2008 R2 Service Pack 1 için toplu güncelleştirme paketi 7Not Derlemeler birikimli olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 R2 düzeltmesi sürümüyle birlikte gelen 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:

2567616 SQL Server 2008 R2 Service Pack 1 ' den sonra yayınlanan SQL Server 2008 R2 derlemeleri

SQL Server 2008 R2

Bu sorunla ilgili düzeltme ilk olarak 13 toplu güncelleştirme tarihinde yayımlanmıştır. SQL Server 2008 R2 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:

2679366 SQL Server 2008 R2 için toplu güncelleştirme paketi 13 Not Derlemeler birikimli olduğundan, her yeni düzeltme sürümü önceki SQL Server 2008 R2 düzeltmesi sürümüyle birlikte gelen 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:

981356 SQL Server 2008 R2 sonrasında yayımlanan SQL Server 2008 R2 derlemeleri

SQL Server 2008 SP3 için toplu güncelleştirme paketi 4

Bu sorunla ilgili düzeltme ilk olarak toplu güncelleştirme 4 ' te yayımlanmıştır. SQL Server 2008 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:

2673383 SQL Server 2008 Service Pack 3 toplu güncelleştirme paketi 4Not Derlemeler birikimli olduğu için, her yeni düzeltme sürümü önceki SQL Server 2008 Service Pack 4 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:

2629969 SQL Server 2008 Service Pack 3 sonrasında yayınlanan SQL Server 2008 derlemeleri

Ek Bilgi

SqlConnection. GetSchema yöntemi hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:

SqlConnection. GetSchema yöntemiyle ilgili genel bilgiler

Durum

Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×