KB4538688 - POPRAWKA: W SQL Server 2019 r. występuje poważna rywalizacja o spinlock

Dotyczy
SQL Server 2019 on Windows SQL Server 2019 on Linux

Podsumowanie

Środowiska, które uruchamiają dużą liczbę transakcji bazy danych w wystąpieniu programu Microsoft SQL Server 2019, mogą powodować poważne problemy ze spinlockiem. Rywalizacja jest zwykle obserwowana w systemach z wyższej półki, które wykorzystują procesory nowszej generacji.

W związku z ciężką rywalizacją o spinlock można zaobserwować następujące warunki:

  • Najczęściej spotykane na nowoczesnym sprzęcie, w szczególności procesorach Intel Skylake. Można to również zaobserwować na innych nowoczesnych procesorach.
  • Zwykle obserwowane w systemach, które mają wiele procesorów.
  • Środowiska mogą mieć większą liczbę jednoczesnych użytkowników, takich jak obciążenia o znaczeniu krytycznym i wysoce transakcyjne.
  • Objawy obejmują nieoczekiwanie wysokie użycie procesora oraz wiele zdarzeń rotacji i wycofywania dla określonego typu blokady spinlock oraz większą liczbę obrotów na kolizję.

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Rozwiązanie

Ulepszenie blokady spinlock zostało po raz pierwszy udostępnione w aktualizacji zbiorczej 2 dla programu SQL Server 2019. Dodatkowe ulepszenia zostały wprowadzone w następujących aktualizacjach zbiorczych dla programu SQL Server:

Zalecamy zastosowanie najnowszej aktualizacji zbiorczej z tej listy, aby rozwiązać różne problemy z rywalizacją o spinlock.

Ważne: Aby można było rozwiązać problem z blokadą spinlocka, należy włączyć flagę śledzenia 8101 po zastosowaniu jednej z jednostek skumulowanych z tej listy. 
 

Informacje o aktualizacjach zbiorczych dla programu SQL Server

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Rozwiązywanie problemów

Aby rozwiązać problemy związane z rywalizacją o spinlock, zobacz następujące artykuły zawierające szczegółowe informacje na temat identyfikowania i rozwiązywania problemów związanych z dużą rywalizacją o procesor i spinlock w aplikacjach programu SQL Server:

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn

DBCC TRACEON — śledzenie flag (Transact-SQL)

Zastrzeżenie dotyczące innych firm

Produkty innych firm omawiane w tym artykule są tworzone przez firmy niezależne od firmy Microsoft. Firma Microsoft nie udziela jakichkolwiek gwarancji, dorozumianych ani innych, co do wydajności i niezawodności tych produktów.