Symptomy
Załóżmy, że korzystasz z programu Microsoft SQL Server 2014. W przypadku programu SQL Server 2014 w wersjimogą wystąpić następujące dwa problemy:
-
Brakujące szczegóły indeksu błędnie Raportuj kolumny dołączone dla problemu z tabelą zoptymalizowaną za pomocą pamięci: Jeśli program SQL Server 2014 wykryje brakujący indeks zapytania w tabeli zoptymalizowanej pod kątem pamięci, wyświetli raport z brakującym indeksem w SHOWPLAN_XML, a także w DMVs brakujący indeks, taki jak sys.dm_db_missing_index_details. W przypadku braku szczegółów indeksu będą zawierać kolumny z uwzględnieniem. Ponieważ wszystkie kolumny są niejawnie uwzględniane we wszystkich indeksach tabel zoptymalizowanych pod kątem pamięci, nie można jawnie określać kolumn uwzględnionych za pomocą indeksów zoptymalizowanych pod kątem pamięci.
-
Brak szczegółów indeksu Pomijaj brakujące indeksy, jeśli indeks mieszania istnieje, ale nie jest odpowiedni dlaproblemu z kwerendami: Jeśli masz indeks mieszania w kolumnach tabeli zoptymalizowanej pod kątem pamięci, do której odwołuje się zapytanie, ale nie można użyć indeksu w zapytaniu, program SQL Server 2014 nie zawsze zgłasza brakujący indeks w SHOWPLAN_XML i w sys.dm_db_missing_index_details DMV. W szczególności, jeśli zapytanie zawiera predykaty równości, które obejmują podzestaw kolumn klucza indeksu lub zawiera predykaty nierówności, które zawierają kolumny kluczy indeksu, nie można użyć tego indeksu skrótów, a inny indeks będzie wymagany do wydajnego wykonania zapytania.
Przyczyna
Występują problemy, ponieważ brak logiki indeksu w Optymalizatorze zapytań nie rozróżnia tradycyjnych indeksów bez klastrowania w tabelach opartych na dyskach i nowych typów indeksu dla tabel zoptymalizowanych pod kątem pamięci.
Rozwiązanie
Problemy rozwiązano po raz pierwszy w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 /en-us/help/2931693
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
Aby obejść te problemy, Skorzystaj z poniższych obejść:
-
Obejście problemu: Brak szczegółów dotyczących brakujących indeksów zgłaszanie kolumn dołączonych do pamięci — zoptymalizowane dla tableDo nie określaj klauzuli INCLUDE z indeksami w tabelach zoptymalizowanych pod kątem pamięci.
-
Obejście problemu: Brak szczegółów indeksu pomijanie brakujących indeksów, jeśli indeks mieszania istnieje, ale nie jest odpowiedni dla przypadków, w których używa się indeksów skrótów, zbadaj zapytania i plany zapytań, aby ustalić, czy zapytania mogą korzystać z operacji wyszukiwania indeksu w podkluczu klucza indeksu lub operacjach indeksowania w predykatach nierównych. Jeśli chcesz przejść do podzestawu klucza indeksu, Użyj indeksu nieklastrowanego lub Użyj indeksu wartości skrótów dokładnie na kolumnach, które należy poszukać. Jeśli chcesz poszukać predykatu nierówności, zamiast skrótu użyj indeksu nieklastrowanego.
Uwaga Obejścia pochodzą z informacji o wersji programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".