Symptomy
Logika oszacowania kardynalności określana jako szacowania Kardynalność (CE) została przeprojektowana w programie SQL Server 2014 (poziomy zgodności 120) i SQL Server 2016 (poziomy zgodności 130) w celu poprawienia jakości planów zapytań. Jednak podczas kompilowania złożonej kwerendy zawierającej wiele sprzężeń za pomocą operatora DISTINCT lub GROUP BY kompilacja może trwać znacznie dłużej, niż oczekiwano.
Rozwiązanie
Ta aktualizacja, która rozwiązuje ten problem, jest dostępna w dodatku Service Pack 1 dla programu SQL Server 2016.Uwaga Po zainstalowaniu tej aktualizacji należy ustawić flagę śledzenia 4199, aby włączyć poprawkę. Aby ustawić flagę śledzenia 4199, zobacz temat flagi śledzenia (Transact-SQL) w witrynie MSDN.
Każda nowa kompilacja dla programu SQL Server 2016 zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla programu SQL Server 2016.
Obejście
Aby obejść ten problem, użyj jednej z następujących metod:
-
Użyj flagi śledzenia 9481, aby ustawić model oszacowania kardynalności optymalizatora zapytań na program SQL Server 2012 lub starszą wersję.
-
Zmień poziom zgodności bazy danych na SQL Server 2012 (110) lub starszą wersję.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.