Simptomi
Pretpostavimo da pokrenete upit koji uključuje spajanje ili agregaciju na stupcu koji je pokriven jednim stupcima i više stupaca Statistika (u kojoj ovaj stupac nije vodeći stupac). Ako koristite Zadana procjena kardinalnosti (CE) u sustavu SQL Server 2016 može podcjenjivati broj različitih redaka. To upućuje na plan izvršavanja upita pod optimalnim sustavom (na primjer: niska procjena može prouzročiti nedovoljna dodjela memorije za operator Hash, što uzrokuje da se upit razlije u tempdb).
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".
Rješenje
Taj je problem riješen u sljedećem kumulativnom ažuriranju za SQL Server:
Napomena Da bi se taj popravak primijenila, morate omogućiti hitnih popravaka za optimizaciju upita pomoću značajke Trace Flag (TF) 4199 ili odgovarajuće mogućnosti nagoveštaja baze podataka ili upita.
O kumulativnim ažuriranjima za SQL Server:
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Taj se problem može ispraviti dodavanjem sljedećeg savjeta za upit:
KORISTITI HINT (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ažuriranja.