Simptomi
Razmotrite sledeći scenario:
-
Imate upit koji sadrži predikat koji uključuje parametarizovanu skalarnu korisnički definisanu funkciju.
-
Postoji više kombinacija ulaznih vrednosti parametara koje mogu dati isti rezultat ovom korisnički definisanom funkcijom.
-
SQL Server koristi Estimator nove kardinalnosti u kojem je režim kompatibilnosti baze podataka postavljen na 120.
U ovom scenariju, kada pokrenete upit, dolazi do loših performansi upita zbog nepravilno procenjenog broja redova za predikat koji uključuje korisnički definisanu funkciju u planu upita.
Rešenje
Ovaj problem je prvi put otklonjen u sledećoj kumulativnoj ispravki za SQL Server:
Kumulativna ispravka 6 za SQL Server 2014 servisni paket 1Kada instalirate ovaj kumulativni paket ispravki, morate da omogućite zastavicu za praćenje 4199. Da biste to uradili, možete da dodate -T4199 parametar za pokretanje. Takođe, možete da koristite dbcc traceon (4199) izjavu za određenu sesiju.
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.