Korriger: Feil resultater når du kjører bli med FULL spørringer som bruker setningsdelen gjelder på TVERS i SQL Server 2008 R2 eller SQL Server-2012

Artikkeloversettelser Artikkeloversettelser
Artikkel-ID: 2800797 - Vis produkter som denne artikkelen gjelder for.
Microsoft distribuerer hurtigreparasjoner for Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) som én nedlastbar fil. Fordi reparasjonene er kumulative, inneholder hver nye utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2008 R2 Service Pack 2 Løs utgivelsen.
Vis alt | Skjul alt

På denne siden

Symptom

Du kan få feil resultater når du kjører en spørring i Microsoft SQL Server 2008 R2 SP2 eller i Microsoft SQL Server-2012 når følgende betingelser er oppfylt:
  • Spørringen bruker en setning som Gjelder på TVERS over resultatet av en FULL JOIN -setningsdel.
  • Tabelldataene tilbys ved å kalle en brukerdefinert Tabellverdifunksjonen i FULL JOIN -setningsdelen.
  • Funksjonen godtar et kolonnenavn som parameter og returnerer resultatene som en tabell.
For eksempel kan du kjøre en spørring som ligner på følgende:
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 
Merk Dette problemet oppstår ikke i Microsoft SQL Server-2012.

Løsning

Informasjon om kumulativ oppdatering

Samleoppdatering 7 for SQL-Server 2012

Hurtigreparasjonen for dette problemet ble først utgitt i kumulativ oppdatering-7. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringen for SQL Server-2012, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2823247 Kumulativ oppdateringspakke 7 for SQL Server-2012
Obs! Fordi versjoner er kumulative, inneholder hver nye fix-utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2012 Løs utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste versjonen av hurtigreparasjonen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2692828 SQL Server-2012 bygger som ble gitt ut etter at SQL Server-2012 ble utgitt

Samleoppdatering 3 for SQL Server 2012 SP1

Hurtigreparasjonen for dette problemet ble først utgitt i kumulativ oppdatering 3. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringen for SQL Server-2012 SP1, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2812412 Kumulativ oppdateringspakke 3 for SQL Server 2012 Service Pack 1
Obs! Fordi versjoner er kumulative, inneholder hver nye fix-utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i tidligere SQL Server 2012 SP1 løser utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste versjonen av hurtigreparasjonen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2772858 SQL Server-2012 bygger som ble gitt ut etter at SQL Server 2012 Service Pack 1 ble utgitt

Kumulativ oppdatering 5 for SQL Server 2008 R2 SP2

Hurtigreparasjonen for dette problemet ble først utgitt i kumulativ oppdatering 5. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringen for SQL Server 2008 R2 SP-2, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2797460 Kumulativ oppdateringspakke 5 for SQL Server 2008 R2 Service Pack 2
Obs! Fordi versjoner er kumulative, inneholder hver nye fix-utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i tidligere SQL Server 2008 R2 SP 2 Løs utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste versjonen av hurtigreparasjonen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2730301 SQL Server 2008 R2 bygger som ble gitt ut etter at SQL Server 2008 R2 Service Pack 2 ble utgitt

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Workaround

Hvis du vil omgå dette problemet, kan du bruke den Fullstendige FLETTE JOIN -setningsdelen i stedet for en FULL JOIN -setningsdel.

Du kan for eksempel endre spørringen som er nevnt i delen "Symptomer" til at spørringen ligner på følgende:
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

Mer informasjon

Hvis du vil ha mer informasjon om hvordan du bruker setningsdelen På TVERS av bruker , kan du gå til følgende Microsoft TechNet-webområde:
Generell informasjon om hvordan du bruker setningsdelen gjelder på TVERS av

Egenskaper

Artikkel-ID: 2800797 - Forrige gjennomgang: 15. april 2013 - Gjennomgang: 3.0
Informasjonen i denne artikkelen gjelder:
  • 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
Nøkkelord: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2800797 KbMtno
Maskinoversatt
Viktig: Denne artikkelen har blitt maskinoversatt, og dermed ikke oversatt av en person. For at alle artikler i vår database skal være oversatt til ditt språk, vil Microsoft benytte både personoversatte og maskinoversatte artikler. Det er viktig å merke seg at en maskinoversatt artikkel ikke alltid er perfekt. Det kan forekomme stave, strukturelle eller grammatiske feil. Microsoft er ikke ansvarlig for unøyaktigheter, feil eller skade ved bruk av innhold i artikkel som måtte forårsakes av feiloversettelse. Microsoft vil jevnlig oppdatere sitt maskinoversettelses programvare.
Den engelske versjonen av denne artikkelen er den følgende: 2800797

Gi tilbakemelding

 

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