Podsumowanie
Środowiska, które uruchamiają dużą liczbę transakcji bazy danych w wystąpieniu Microsoft SQL Server 2019 może spowodować poważne rywalizacji spinlock. Rywalizację obserwuje się zazwyczaj w systemach high-end, które korzystają z procesorów nowszej generacji.
Następujące warunki można zaobserwować w odniesieniu do poważnych rywalizacji spinlock:
-
Powszechnie obserwowane na nowoczesnym sprzęcie, szczególnie w procesorach Intel Skylake. Może być również obserwowane na innych nowoczesnych procesorów.
-
Zwykle obserwowane w systemach, które mają wiele procesorów.
-
Środowiska mogą mieć więcej równoczesnych użytkowników, takich jak krytyczne, wysoce transakcyjne obciążenia pracą.
-
Objawy obejmują nieoczekiwanie wysokie użycie procesora i wiele spinów i zdarzeń backoff dla określonego typu spinlocka oraz większą liczbę pokrętła na kolizję.
Stan
Microsoft potwierdziła, że jest to problem w Microsoft produktach wymienionych w sekcji "Dotyczy".
Rozwiązanie
Ulepszenie funkcji spinlock zostało po raz pierwszy udostępnione w aktualizacji zbiorczej 2 dla SQL Server 2019 r. Wprowadzono dodatkowe ulepszenia w następujących aktualizacjach zbiorczych dla SQL Server:
Zalecamy zastosowanie najnowszej aktualizacji zbiorczej na tej liście w celu rozwiązania różnych problemów z rywalizacją o spinlocki.
Ważne Aby można było rozwiązać problem z funkcją spinlock, flaga śledzenia 8101 musi być włączona po zastosowaniu jednego z użytkowników Z tej listy.
Informacje o aktualizacjach zbiorczych dla SQL Server
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:
Rozwiązywanie problemów
Aby rozwiązać problemy z rywalizacją o spinlock, zobacz następujące artykuły, aby uzyskać szczegółowe informacje na temat identyfikowania i rozwiązywania problemów związanych z rywalizacją o wysoki procesor i spinlock w aplikacjach SQL Server:
Informacje
Dowiedz się więcej o terminologii używanej przez Microsoft do opisywania aktualizacji oprogramowania.
sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Dowiedz się
DBCC TRACEON — flagi śledzenia (Transact-SQL)
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.