Rakenduskoht
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Developer SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 R2 Express SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Microsoft jagab Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) fikseerib ühe allalaaditavate failidega. Kuna parandused on kumulatiivsed, sisaldab iga uus versioon kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmiste SQL Server 2008 R2 hoolduspaketiga Service Pack 2 paranduse väljalaskeks.

Sümptomid

Kui käivitate päringu rakenduses Microsoft SQL Server 2008 R2 SP2 või Microsoft SQL Server 2012, võidakse kuvada ebaõiged tulemid, kui täidetud on järgmised tingimused.

  • Päringus kasutatakse täieliku liitumise klausli tõttu Ristviite klauslit.

  • Tabeli andmed on esitatud, kui helistate täieliku liitumise klausliga tabelile, mis on hinnatud kasutaja määratletud funktsiooniks.

  • Funktsioon aktsepteerib veeru nime parameetrina ja annab tulemiks tabelina.

Näiteks käivitate päringu, mis sarnaneb järgmisega:

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  

Märkus. Seda probleemi ei esine Microsoft SQL Server 2012.

Lahendus

Kumulatiivse värskenduse teave

Kumulatiivne Update 7 SQL Server 2012

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 7. Lisateavet selle kumulatiivse värskenduspaketi SQL Server 2012 hankimiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2823247 SQL Serveri 2012 koondvärskenduses pakett 7Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL Serveri 2012 Fix väljalaskega. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2692828 Pärast SQL Server 2012 väljaandmist väljaantud SQL Serveri 2012 järgud

Kumulatiivne Update 3 SQL Server 2012 SP1 jaoks

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 3. Lisateavet selle kumulatiivse värskenduspaketi hankimiseks SQL Server 2012 SP1 kohta klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2812412 Kumulatiivne värskenduspakett 3 SQL Server 2012 hoolduspaketi 1 jaoksMärkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmiste SQL Server 2012 SP1 paranduse väljalaskes. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2772858 Pärast SQL Server 2012 hoolduspaketti 1 välja antud SQL Serveri 2012 järgud

Kumulatiivne Update 5 SQL Server 2008 R2 hoolduspaketi SP2 jaoks

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 5. Lisateavet selle kumulatiivse värskenduspaketi SQL Server 2008 R2 SP 2 kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2797460 SQL Server 2008 R2 hoolduspaketi SP2 koondvärskenduses pakett 5Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL Server 2008 R2 SP 2 paranduse väljalaskeks. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2730301 Pärast SQL Server 2008 R2 hoolduspaketti SP2 välja antud SQL Server 2008 R2 järgud

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Lahendus

Selle probleemi lahendamiseks kasutage täieliku liitumise klausli asemel kogu kirjakooste liitumise klauslit. Näiteks saate muuta jaotises "Tunnused" kirjeldatud päringut, mis näeb välja järgmine:

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 

Lisateave

Lisateavet selle kohta, kuidas kasutada Ristviite klauslit, leiate järgmisest Microsoft TechNeti veebisaidilt:

Üldteave selle kohta, kuidas kasutada RISTVIITE klauslit

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.