FIX: Nesprávne výsledky pri spustení plnej pripojiť dotazu, ktorý používa na KRÍŽ uplatňujú doložku v SQL Server 2008 R2 alebo SQL Server 2012

Preklady článku Preklady článku
ID článku: 2800797 - Zobraziť produkty, ktorých sa tento článok týka.
Microsoft distribuuje Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) opravy ako jeden súbor na prevzatie. Pretože opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL Server 2008 R2 Service Pack 2 opraviť uvoľnenia.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

Príznaky

Môže získať nesprávne výsledky pri spustení dotazu v Microsoft SQL Server 2008 R2 SP2 alebo Microsoft SQL Server 2012, keď sú splnené nasledovné podmienky:
  • Dotaz používa klauzulu KRÍŽ uplatňujú nad výsledkom Plnej pripojiť klauzula.
  • Tabuľka údajov je poskytovaná volá tabuľka oceňuje používateľom definovanú funkciu v klauzule Plný pripojiť .
  • Funkcia prijíma názov stĺpca ako parameter a vracia výsledky ako tabuľku.
Napríklad spustíte dotaz, ktorý sa podobá nasledujúcemu hláseniu:
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 
Poznámka: Tento problém sa nevyskytuje v Microsoft SQL Server 2012.

Riešenie

Kumulatívna aktualizácia informácií

Kumulatívna aktualizácia 7 pre SQL Server 2012

Oprava tohto problému bol prvýkrát vydaný v kumulatívnej aktualizácii 7. Ďalšie informácie o možnostiach získania tento balík Kumulatívna aktualizácia pre SQL Server 2012, po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
2823247 Balík Kumulatívna aktualizácia 7 pre SQL Server 2012
Poznámka: Pretože stavia sú kumulatívne, každé nové opraviť vydanie obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej SQL Server 2012 opraviť uvoľnenia. Odporúčame, aby ste zvážili, uplatňovanie najnovších opraviť uvoľnenie, ktoré túto rýchlu opravu obsahuje. Ďalšie informácie získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
2692828 SQL Server 2012 stavia, ktoré boli uvoľnené po bola vydaná SQL Server 2012

Kumulatívna aktualizácia 3 pre SQL Server 2012 SP1

Oprava tohto problému bol prvýkrát vydaný v Kumulatívna aktualizácia 3. Ďalšie informácie o možnostiach získania tento balík Kumulatívna aktualizácia pre SQL Server 2012 SP1, po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
2812412 Balík Kumulatívna aktualizácia 3 pre SQL Server 2012 Service Pack 1
Poznámka: Pretože stavia sú kumulatívne, každé nové opraviť vydanie obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej SQL Server 2012 SP1 opraviť uvoľnenia. Odporúčame, aby ste zvážili, uplatňovanie najnovších opraviť uvoľnenie, ktoré túto rýchlu opravu obsahuje. Ďalšie informácie získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
2772858 SQL Server 2012 stavia, ktoré boli vydané po SQL Server 2012 Service Pack 1 bola uvoľnená

Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 SP2

Fix pre tento problém bol prvýkrát vydaný v Kumulatívnej aktualizácii 5. Ďalšie informácie o možnostiach získania tento balík Kumulatívna aktualizácia pre SQL Server 2008 R2 SP 2, kliknite na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
2797460 Kumulatívna aktualizácia balíka 5 pre SQL Server 2008 R2 Service Pack 2
Poznámka: Pretože stavia sú kumulatívne, každé nové opraviť vydanie obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL Server 2008 R2 SP 2 opraviť uvoľnenia. Odporúčame, aby ste zvážili, uplatňovanie najnovších opraviť uvoľnenie, ktoré túto rýchlu opravu obsahuje. Ďalšie informácie získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
2730301 SQL Server 2008 R2 stavia, ktoré boli uvoľnené po bola vydaná SQL Server 2008 R2 Service Pack 2

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti „Vzťahuje sa na“.

Ako problém obísť

Obísť tento problém, použite klauzule Úplné zlúčenie pripojiť namiesto Plnej pripojiť klauzula.

Napríklad môžete zmeniť dotaz, ktorý je uvedený v časti "Príznaky", že dotaz nasledovnému:
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

Ďalšie informácie

Ďalšie informácie o používaní KRÍŽ uplatňujú doložku, nájdete na nasledujúcej webovej lokalite Microsoft TechNet:
Všeobecné informácie o používaní CROSS vzťahuje klauzula

Vlastnosti

ID článku: 2800797 - Posledná kontrola: 15. apríla 2013 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • 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
Kľúčové slová: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2800797 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 2800797

Odošlite odozvu

 

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