Symptomy

W przypadku użycia nowego wystąpienia Microsoft SQL Server 2016 (lub 2017) lub wystąpienia SQL Server 2016 (lub 2017), które zostało uaktualnione z wcześniejszej wersji SQL Server, występują problemy z wydajnością z powodu dużego użycia procesora. Ponadto w przypadku zapytania dotyczącego sys.dm_os_spinlock_stats tabeli można zauważyć wysoką wartość w kolumnie pokrętła dla wierszySECURITY_CACHE (Security Cache) i CMED_HASH_SET (Metadata Cache) (w porównaniu z innymi wierszami w tabeli). Na przykład można zauważyć następujące wartości.

Błąd

Przyczyna

Ten problem występuje z powodu dużej rywalizacji spin lock w bardzo równoczesnym systemie. W tych systemach operacyjnych wiele wątków procesora konkuruje o zasoby i obraca się przez dłuższy czas, podczas gdy okresowo pracują w pętli w celu określenia, czy zasób jest dostępny, a nie natychmiast dający wydajność. Gdy wiele wątków procesora ciągle się obraca ( w pętli ) dla zasobu, a nie daje, powoduje to wysokie użycie procesora i problemy z wydajnością.

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla SQL Server:

Uwaga 16. Po zastosowaniu aktualizacji zbiorczej 2 (CU2) SQL Server 2016 nazwy SECURITY_CACHE i CMED_HASH_SET zostaną zmienione odpowiednio na LOCK_RW_SECURITY_CACHE i LOCK_RW_CMED_HASH_SET. Po zastosowaniu funkcji CU2 wartości są wyświetlane w następujący sposób.

Zaktualizowano

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

Najnowsza aktualizacja zbiorcza dla SQL Server 2016

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×