Simptome
Atunci când interogați o vizualizare în Microsoft SQL Server 2014 sau 2016, finalizarea acesteia poate dura mult mai mult timp, dacă o comparați cu executarea în SQL Server 2008 R2.
Când executați o interogare care utilizează UNION ALL și un obiectiv rând (cum ar fi clauza TOP N, FAST N sau predicatul EXISTS), este posibil să observați că interogarea rulează mai lent în SQL Server 2014 sau în versiunile mai recente, dacă o comparați cu SQL Server 2008 R2.
Cauză
În SQL Server 2008 R2, optimizarea interogărilor modifică ordinea diferitelor părți sub UNION ALL dacă este prezent un obiectiv de rând, astfel încât piesa cea mai ieftină să fie prima. Acest lucru permite ca interogarea să termine executarea mai devreme dacă piesele mai ieftine produc numărul necesar de rânduri, fără a continua să execute piese mai scumpe. O astfel de reordonare nu apare în versiunile mai recente de SQL Server.
Rezolvare
Această problemă este remediată în următoarea actualizare cumulativă pentru SQL Server:
Actualizarea cumulativă 7 pentru SQL Server 2016 RTM
Actualizarea cumulativă 4 pentru SQL Server 2016 SP1
Actualizarea cumulativă 6 pentru SQL Server 2014 SP2
Notă Optimizatorul de interogare trebuie să fie activat pentru această problemă.
Pentru mai multe informații despre optimizarea interogărilor și semnalizatoarele de urmărire, consultați următoarele linkuri:
Remediere rapidă SQL Server Optimizer interogare TF 4199 model de servicii
Comenzile consolei DBCC și semnalizările de urmărire
Despre actualizările cumulative pentru SQL Server:
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Cea mai recentă actualizare cumulativă pentru SQL Server 2014
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.