Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Microsoft distribueert Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) of Microsoft SQL Server 2012-oplossingen in één downloadbaar bestand. Aangezien de fixes cumulatief zijn, bevat elke nieuwe versie alle hotfixes en alle beveiligingsupdates die zijn opgenomen in de vorige SQL Server 2008 R2 Service Pack 1 (SP1) of SQL Server 2012 update release.

Symptomen

Kijk eens naar het volgende scenario. U voert een query uit in Microsoft SQL Server 2008 R2 of in Microsoft SQL Server 2012 en de query Optimizer genereert een uitvoeringsplan met de operator top. In dit scenario kan het enige tijd duren voordat de query wordt uitgevoerd. U voert bijvoorbeeld een query uit die er ongeveer als volgt uitziet:

SELECT TableA.Col1 FROM TableA JOIN TableB ON TableA.Col1 = TableB.Col1 WHERE TableA.Col2 = N'A' AND TableB.Col3 IN (SELECT Col1 FROM TableC )Deze query omvat twee joins. Eén join bevindt zich tussen TableB en TableC. (Deze wordt impliciet door de aanwezigheid van het predicaat IN.) De andere join bevindt zich tussen de tabel A en het resultaat van de eerste join. De waarde IN het predicaat retourneert waar als met de query minimaal één rij wordt gevonden die voldoet aan het eerste predicaat van de join. Daarom voegt de query Optimizer de bovenste operator toe aan het uitvoer programma voor query's. Een dergelijke query retourneert mogelijk slechts enkele rijen. Het kan echter langer duren voordat deze query wordt uitgevoerd. In het programma voor de uitvoer van de query wordt het geschatte aantal rijen aanzienlijk afwijkt van het werkelijke aantal rijen. Dit beïnvloedt de mogelijkheid van de optimalisatie van de query om de kosten voor de verschillende planningsopties nauwkeurig te ramen. Het probleem kan ook optreden als u de bovenste operator expliciet gebruikt of als u een van de volgende operatoren gebruikt:

  • OPTION (FAST N)

  • IN

  • BESTAAT

Oplossing

Cumulatieve updategegevens

SQL Server 2008 R2 Service Pack 2

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 1 voor SQL Server 2008 R2 Service Pack 2. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2720425 Cumulatief update pakket 1 voor SQL Server 2008 R2 Service Pack 2Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2730301 De SQL Server 2008 R2-builds die zijn uitgebracht na SQL Server 2008 R2 Service Pack 2 is uitgebracht

SQL Server 2008 R2 Service Pack 1

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 7 voor SQL Server 2008 R2 Service Pack 1. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2703282 Cumulatief update pakket 7 voor SQL Server 2008 R2 Service Pack 1Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2567616 De SQL Server 2008 R2-builds die zijn uitgebracht na SQL Server 2008 R2 Service Pack 1 is uitgebracht

SQL Server 2012

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 2 voor SQL Server 2012. Klik voor meer informatie over dit cumulatieve updatepakket op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2703275 Cumulatief updatepakket 2 voor SQL Server 2012Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2012 fix. Microsoft raadt u aan dat u de meest recente reparatie versie met deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2692828 De versies van SQL Server 2012 die zijn uitgebracht na de release van SQL Server 2012 U moet een hotfix voor SQL Server 2012 toepassen op een installatie van SQL Server 2012.

SQL Server 2008 R2

De oplossing voor dit probleem werd eerst uitgebracht in cumulatieve update 13. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2679366 Cumulatief updatepakket 13 voor SQL Server 2008 R2Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

981356 De SQL Server 2008 R2-builds die zijn uitgebracht nadat SQL Server 2008 R2 werd uitgebrachtOpmerking Nadat u de cumulatieve update hebt geïnstalleerd, moet u traceringsvlag 4199 inschakelen om de correctie in te schakelen die in deze cumulatieve update is opgenomen als aan de volgende voorwaarden is voldaan:

  • Het queryplan heeft een operator TOP van een geneste lus join operator (join 1) aan de rechterkant van een andere operator voor toepassen/samenvoegen (join 2).

  • De buitenkant van join 1 heeft een buitenste verwijzing naar de buitenkant van join 2.

  • Bij lid 1 wordt een gelijkheids predicaat gebruikt voor een kolom aan de linkerkant die uniek is.

Een voorbeeld van een dergelijke query wordt weergegeven in de sectie symptomen. (Hierbij wordt uitgegaan dat bepaalde beperkingen van uniekheid in de database voorkomen.) Als er andere query's zijn die de optie TOP, OPTION (FAST N), IN of bestaande operatoren bevatten en soortgelijke problemen veroorzaken, maar niet op het door u beschreven patroon passen, schakelt u traceringsvlag 4138 in.Waarschuwing Als u traceringsvlag 4138 inschakelt, kan dit gevolgen hebben voor sommige andere query's die TOP, OPTION (FAST N), of EXISTs-operatoren bevatten. Traceringsvlag 4138 dient alleen te worden gebruikt als aan de volgende voorwaarden is voldaan:

  • Het effect van trage query's waarbij deze operatoren worden gebruikt, is bevestigd.

  • Er zijn geen andere nuttige tijdelijke oplossingen.

  • Er zijn geen regressies gedetecteerd bij andere query's die soortgelijke operatoren bevatten.

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Workaround

Voor een tijdelijke oplossing voor dit probleem kunt u de linker OUTER JOIN-operator of diverse OPTIMIZER hints gebruiken.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×