Simptome
Luați în considerare următorul scenariu:
-
Utilizați o configurație de Evaluare cardinality (ce) care corespunde nivelului de compatibilitate al bazei de date 120 sau un nivel mai târziu pentru sistemul Microsoft SQL Server 2016 și 2017.
-
Rulează o interogare care conține un predicat de căutare.
-
Interogarea caută valori mai mici sau egale cu orice număr care este mai mic decât valoarea minimă a RANGE_HI_KEY stocate în obiectul Statistics. Sau, interogarea caută valori mai mari decât valoarea maximă a RANGE_HI_KEY pentru aceleași statistici.
În acest scenariu, Optimizatorul de interogare supraestimează numărul de rânduri. Acest lucru poate provoca o alegere mai mică decât optimă a planului de interogare și performanța slabă.
Rezolvare
Remedierea pentru această problemă este inclusă în următoarele actualizări cumulative pentru SQL Server:
Actualizarea cumulativă 6 pentru SQL Server 2017
Actualizarea cumulativă 8 pentru SQL Server 2016 SP1
Actualizarea cumulativă 2 pentru SQL Server 2016 Notă După ce instalați această actualizare, trebuie să activați Trace Flag 4199 pentru a activa această remediere. Pentru a activa semnalizatorul de urmărire 4199, consultați subiectul Trace Flags (Transact-SQL) pe site-ul Web Microsoft Developer Network (MSDN).
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.