Symptomy
Rozpatrzmy następujący scenariusz:
-
W Microsoft SQL Server 2017, 2016 i 2014 używasz funkcji przetwarzania transakcji online (OLTP) w pamięci.
-
Zapytanie jest wykonywane na tabeli zoptymalizowanej pod kątem pamięci, która zawiera duży indeks.
W tym scenariuszu, jeśli podczas wykonywania zapytania użyjesz dużego indeksu, użycie procesora CPU może bardzo szybko wzrosnąć do 100 procent. Jeśli masz więcej niż jeden procesor logiczny, tylko jeden procesor może szybko wzrosnąć do 100 procent.
Przyczyna
Ten problem występuje, ponieważ zbieranie śmieci w pamięci OLTP może zająć dużo czasu, jeśli duży indeks jest używany w wykonywaniu zapytania.
Rozwiązanie
Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla SQL Server:
Aktualizacja zbiorcza 4 dla SQL Server 2017 r.
Aktualizacja zbiorcza 7 dla SQL Server 2016 z dodatkiem SP1
Aktualizacja zbiorcza 2 dla SQL Server 2014 z dodatkiem SP3
UwagaPo zainstalowaniu tej aktualizacji musisz włączyć flagę śledzenia (TF) 9945, aby rozwiązać ten problem. Aby włączyć tf 9945, zobacz temat Śledzenie flag (Transact-SQL) w microsoft developer network (MSDN).
Każda nowa aktualizacja zbiorcza dla SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla SQL Server:
Najnowsza aktualizacja zbiorcza dla SQL Server 2017
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Informacje
Dowiedz się więcej o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.