Dotyczy
SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptomy

Załóżmy, że jest uruchamiana kwerenda obejmująca sprzężenie lub agregację. w kolumnie, która jest objęta pojedynczą kolumną i wieloma kolumnami Statystyka (w której ta kolumna nie jest kolumną interlinii). Jeśli używasz Domyślna Kardynalność szacowania (CE) w programie SQL Server 2016 może być nieszacunkowa liczba różne wiersze. Prowadzi to do planu nieoptymalnego wykonania zapytań (na przykład: niskie szacowanie może spowodować niedostateczne przyznanie pamięci dla operatora skrótu, co spowoduje, że kwerenda rozlania do bazy danych tempdb).

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Rozwiązanie

Ten problem został rozwiązany w następującej zbiorczej aktualizacji dla programu SQL Server:

Uwaga Aby ta poprawka działała, musisz włączyć poprawki optymalizatora zapytań, używając flagi śledzenia (TF) 4199 lub odpowiedniej konfiguracji zakresu lub wskazówki zapytania dotyczącego bazy danych.

Informacje dotyczące aktualizacji zbiorczych dla programu SQL Server:

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Obejście

Ten problem można rozwiązać, dodając następującą wskazówkę dotyczącą zapytań:

UŻYWAJĄ WSKAZÓWKA ("FORCE_LEGACY_CARDINALITY_ESTIMATION")

Informacje

Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.