Symptom
När du frågar en vy i Microsoft SQL Server 2014 eller 2016 kan det ta längre tid att slutföra om du jämför den med körningen i SQL Server 2008 R2.
När du kör en fråga som använder UNION ALL och ett rad mål (till exempel TOP N-satsen, FAST N eller EXISTS-predikatet), kan det hända att frågan går långsammare i SQL Server 2014 eller senare versioner om du jämför den med SQL Server 2008 R2.
Orsak
I SQL Server 2008 R2 ändrar Query Optimering ordningen på olika delar under UNION alla om det finns ett rad mål, så att billigaste delen hamnar först. Då kan Query slutföra körningen tidigare om de billigare delarna producerar det nödvändiga antalet rader, utan att behöva köra mer dyra delar. Sådan omordning sker inte i senare versioner av SQL Server.
Lösning
Det här problemet är åtgärdat i den här kumulativa uppdateringen för SQL Server:
Kumulativ uppdatering 7 för SQL Server 2016 RTM
Kumulativ uppdatering 4 för SQL Server 2016 SP1
Kumulativ uppdatering 6 för SQL Server 2014 SP2
Obs! Frågans optimering måste vara aktive rad för det här problemet.
Mer information om frågor för optimering och spårning finns i följande länkar:
SQL Server Query optimerings snabb korrigering TF 4199 Servicing-modell
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologinsom Microsoft använder för att beskriva program varu uppdateringar.