Düzeltme: FULL JOIN SQL Server 2008 R2'de veya SQL Server 2012 arası uygulamak yan tümcesi kullanan bir sorgu çalıştırdığınızda hatalı sonuçlar

Makale çevirileri Makale çevirileri
Makale numarası: 2800797 - Bu makalenin geçerli olduğu ürünleri görün.
Microsoft, Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) düzeltmeleri karşıdan yüklenebilen bir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008 R2 Service Pack 2 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki koşullar geçerli olduğunda, bir sorgu Microsoft SQL Server 2008 R2 SP2'de veya Microsoft SQL Server 2012 çalıştırdığınızda hatalı sonuçlar alabilirsiniz:
  • Sorgu FULL JOIN yan tümcesi sonucu üzerinde Çapraz uygulamak yan tümcesi kullanır.
  • Tablo verileri FULL JOIN yan tümcesinde tablo deerli kullanıcı tanımlı bir işlev çağırarak sağlanır.
  • İşlev parametresi olarak bir sütun adı kabul eder ve bir tablo olarak sonuçları döndürür.
Örneğin, aşağıdakine benzer bir sorgu çalıştırabilirsiniz:
SELECT * FROM tablename 
CROSS APPLY (
    SELECT * FROM
        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1 
    FULL JOIN 
        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2 
    ON s1.nodeName = s2.nodeName
    ) s 
Not Bu sorun, Microsoft SQL Server 2012'de oluşmaz.

Çözüm

Toplu Güncelleştirme bilgileri

SQL Server 2012 için toplu güncelleştirme 7

Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 7'de yayımlanmıştır. SQL Server 2012 için bu toplu güncelleştirme paketini elde etme 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:
2823247 SQL Server 2012 için toplu güncelleştirme paketi 7
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2012 ile gelen tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2692828 SQL Server 2012 yayımlandıktan sonra yayımlanan SQL Server 2012 oluşturur

SQL Server 2012 SP1 için toplu güncelleştirme 3

Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 3'te yayımlanmıştır. Bu toplu güncelleştirme paketi SQL Server 2012 SP1'i elde etme 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:
2812412 SQL Server 2012 Service Pack 1 için toplu güncelleştirme paketi 3
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2012 SP1'de bulunan tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2772858 SQL Server 2012 SQL Server 2012 Service Pack 1'de yayımlandıktan sonra yayımlanan yapılar

SQL Server 2008 R2 SP2 için toplu güncelleştirme 5

Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 5'te yayımlanmıştır. SQL Server 2008 R2 SP 2 için bu toplu güncelleştirme paketini elde etme 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:
2797460 SQL Server 2008 R2 Service Pack 2 için toplu güncelleştirme paketi 5
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008 R2 SP 2 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2730301 SQL Server 2008 R2 Service Pack 2 yayımlandıktan sonra yayımlanan SQL Server 2008 R2 oluşturur

Durum

Microsoft bu sorunun, "Aşağıdakilere uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için FULL JOIN yan tümcesi Birleştirme FULL JOIN yan tümcesi kullanın.

Örneğin, "Belirtiler" bölümünde sorgu aşağıdakine benzer açıklanan sorguyu değiştirin:
SELECT * FROM tablename 
CROSS APPLY (
    SELECT * FROM
        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1 
    FULL MERGE JOIN 
        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2 
    ON s1.nodeName = s2.nodeName
    ) s

Daha fazla bilgi

Çapraz uygulamak yan tümcesi kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft TechNet Web sitesine bakın:
Çapraz uygulamak yan tümcesi kullanma hakkında genel bilgiler

Özellikler

Makale numarası: 2800797 - Last Review: 15 Nisan 2013 Pazartesi - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2008 R2 Service Pack 2
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Anahtar Kelimeler: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2800797 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2800797

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com