Symptom
Kardinalitet logiken som kallas för att beräkna kardinalitet (CE) har omarbetats i SQL Server 2014 (kompatibilitetsnivån 120) och SQL Server 2016 (kompatibilitetsnivån för kompatibilitet 130) för att förbättra abonnemangets kvalitet. Men när du kompilerar en komplex fråga som innehåller många kopplingar med en DISTINCT-eller GROUP BY-operator kan kompileringen ta betydligt längre tid än förväntat.
Lösning
Den här uppdateringen löser problemet med Service Pack 1 för SQL Server 2016.Obs! När du har installerat den här uppdateringen måste du ange spårnings flagga 4199 för att aktivera korrigeringen. Om du vill ange spårnings flaggan 4199 läser du avsnittet trace Flags (Transact-SQL) på MSDN.
Varje ny version för SQL Server 2016 innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående versionen. Vi rekommenderar att du installerar den senaste versionen av SQL Server 2016.
Lösning
Använd någon av följande metoder för att lösa problemet:
-
Använd spårnings flagga 9481 för att ställa in uppskattnings modellen för optimering av frågeverktyget mot SQL Server 2012 eller en tidigare version.
-
Ändra kompatibilitetsnivån för databasen till SQL Server 2012 (110) eller en tidigare version.
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 Microsoft använder för att beskriva program varu uppdateringar.