Simptome
Luați în considerare următorul scenariu:
- Aveți o interogare care conține un predicat care implică o funcție scalară parametrizată, definită de utilizator.
- Există mai multe combinații de valori ale parametrilor de intrare care pot produce același rezultat prin această funcție definită de utilizator.
- SQL Server utilizează noul estimator de cardinalitate, în care modul de compatibilitate al bazei de date este setat la 120.
În acest scenariu, atunci când rulați interogarea, întâmpinați performanțe slabe ale interogării, din cauza unui număr estimat incorect de rânduri pentru predicatul care implică funcția definită de utilizator în planul de interogare.
Rezolvare
Această problemă a fost remediată mai întâi în următoarea actualizare cumulativă pentru SQL Server:
Actualizarea cumulativă 6 pentru SQL Server 2014 Service Pack 1
După ce instalați acest pachet de actualizare cumulativă, trebuie să activați semnalizarea de urmărire 4199. Pentru a face acest lucru, puteți adăuga parametrul de pornire -T4199. Sau puteți utiliza instrucțiunea dbcc traceon(4199) pentru o anumită sesiune.
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 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.