Symptom
Tänk dig följande situation:
-
Du har en fråga som använder ett icke-likhets tecken på en unik GUID-kolumn i SQL Server 2014 eller 2016.
-
Statistiken uppdateras med standard sampling. Eller så infogas nya rader i tabellen efter den senaste statistik uppdateringen.
-
SQL Server använder den nya typen av kardinalitet i vilken databasens kompatibilitetsläge är inställt på 120.
-
GUID-värden är icke enhetliga fördelade över hela tabellen.
I det här scenariot när du kör frågan kan du få dåliga prestanda på grund av felaktigt uppskattat antal rader för predikatet i frågeuttrycket.
Lösning
Det här problemet åtgärdades först i den här kumulativa uppdateringen för SQL Server:
Kumulativ uppdatering 6 för SQL server 2014 Service Pack 1 kumulativ uppdatering 1 för SQL Server 2016När du har installerat det här kumulativa uppdaterings paketet måste du aktivera spårnings flagga 4199. För att göra detta kan du lägga till Start parametern -T4199 . Eller så kan du använda DBCC TRACEON (4199) för en speciell session.
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2014Senaste kumulativa uppdateringen för SQL Server 2016
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologin som används av Microsoft för att beskriva program varu uppdateringar.