KB2421014 - DÜZELTME: SQL Server 2008 veya SQL Server 2008 R2'de bir CTE sorgusunda dizinlenmiş görünümde Freetexttable veya Containstable işlevini kullandığınızda "Geçerli komutta ciddi bir hata oluştu" hata iletisi

Uygulandığı Öğe
SQL Server 2008 SQL Server 2008 R2 SQL Server 2008 Service Pack 2

Microsoft, Microsoft SQL Server 2008 veya Microsoft SQL Server 2008 R2 düzeltmelerini indirilebilir tek bir dosya olarak dağıtır. Düzeltmeler birikmeli olduğundan, her yeni sürüm önceki SQL ServerSQL Server 2008 veya SQL ServerSQL Server 2008 R2 düzeltme sürümünde yer alan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir.

Belirtiler

Microsoft SQL Server 2008 veya Microsoft SQL Server 2008 R2'de adlandırılmış bir örneğin sunucuda yüklü olduğunu varsayalım. Dizinli görünümde Freetexttable veya Containstable işlevini kullanan bir Ortak Tablo İfadesi (CTE) sorgusu çalıştırırsanız, CTE sorgusu başarısız olur ve erişim ihlali özel durumu oluşur. Ayrıca, aşağıdaki hata iletisini alırsınız:

Not

Msg 0, Level 11, State 0, Line 0
Geçerli komutta önemli bir hata oluştu. Varsa, sonuçlar atılmalıdır.

Örneğin, aşağıdaki kodu çalıştırdığınızda erişim ihlali özel durumu oluşur:

WITH CTE AS  (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >'))  SELECT * FROM CTE  

Çözüm

Toplu güncelleştirme bilgileri

SQL ServerSQL Server 2008 Service Pack 2

Bu soruna yönelik düzeltme ilk olarak SQL Server 2008 Service Pack 2 için Toplu Güncelleştirme 4'te 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ına tıklayın:

2527180 SQL Server 2008 Service Pack 2 için Toplu Güncelleştirme Paketi 4Not: Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 düzeltme sürümüne eklenmiş olan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2402659 SQL Server 2008 Service Pack 2 kullanıma sunulduktan sonra yayımlanan SQL Server 2008 derlemeleri Belirli SQL Server hizmet paketleri için Microsoft SQL Server 2008 düzeltmeleri oluşturulmuştur. Bir SQL ServerSQL Server 2008 Service Pack 2 yüklemesine bir SQL ServerSQL Server 2008 Service Pack 2 düzeltmesi uygulamanız gerekir. Varsayılan olarak, bir SQL ServerSQL Server hizmet paketinde sağlanan tüm düzeltmeler, bir sonraki SQL ServerSQL Server hizmet paketine dahil edilir.

SQL Server 2008 R2

Bu soruna yönelik düzeltme ilk olarak Toplu Güncelleştirme 4'te yayınlandı. 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ına tıklayın:

SQL Server 2008 R2 için 2345451 Toplu Güncelleştirme Paketi 4 Not Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 R2 düzeltme sürümüne dahil edilen 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üşünmenizi ö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:

981356 SQL Server 2008 R2 yayınlandıktan sonra yayımlanan SQL Server 2008 R2 derlemeleri

Geçici çözüm

Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Ara sonuçları depolamak için CTE yerine bir görünüm, geçici tablo veya tablo değişkeni kullanın.
  • Türetilmiş bir tablo veya alt sorgu kullanmak için sorguyu güncelleştirin. Bu, CTE kullanma gereksinimini ortadan kaldırır.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Genel tablo ifadelerini kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft web sitesini ziyaret edin:

Ortak tablo ifadelerini kullanma Freetexttable (Transact-SQL) işlevi hakkında daha fazla bilgi için aşağıdaki Microsoft web sitesini ziyaret edin:

FREETEXTTABLE (Transact-SQL) Containstable (Transact-SQL) işlevi hakkında daha fazla bilgi için aşağıdaki Microsoft web sitesini ziyaret edin:

CONTAINSTABLE (Transact-SQL) Dizinli görünümler oluşturma hakkında daha fazla bilgi için aşağıdaki Microsoft web sitesini ziyaret edin:

Dizinli görünümler oluşturma
        
SQL Server için Artımlı Hizmet Modeli hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

935897 Bildirilen sorunlara yönelik düzeltmeler sağlamak için SQL Server ekibi tarafından bir Artımlı Bakım Modeli sağlanır

SQL Server güncelleştirmelerin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

822499 Microsoft SQL Server yazılım güncelleştirme paketleri için yeni adlandırma şemasıYazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması