Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Rozwiązywanie problemów z brakiem wątków roboczych

Ponieważ w Twojej instancji występuje większy ruch przy jednoczesnym korzystaniu, może zabraknąć w niej wątków roboczych potrzebnych do przetwarzania żądań sesji. Oznacza to, że sesje będą czekać na przypisanie wątków roboczych do przetwarzania żądań. Najprawdopodobniej doprowadziłoby to do wolniejszego czasu przetwarzania i napotkania typów oczekiwania, takich jak SOS_SCHEDULER_YIELD, THREADPOOL i CXPACKET.

Zazwyczaj problem jest spowodowany jedną z następujących przyczyn:

  • Wiele aktywnych połączeń
  • Wiele długotrwałych zapytań
  • Zapytania używające równoległości
  • Procesor serwera nie jest wystarczająco mocny do obciążenia

Najczęstsze środki zaradcze to:

  • Zmniejsz liczbę połączeń
  • Identyfikuj i dostosowuj długo działające zapytania
  • Identyfikuj i dostosowuj zapytania przy użyciu wysokiego stopnia równoległości
  • Identyfikuj i dostosowuj zapytania za pomocą typu oczekiwania procesora
  • Identyfikuj i dostosowuj zapytania za pomocą typu oczekiwania CXPACKET
Alarm SQL - Wyczerpane wątki w Spotlight Cloud powiadamia użytkownika, gdy instancja wyczerpuje wątki robocze do przetwarzania żądań sesji.


Użyj pulpitów diagnostycznych Spotlight Cloud, aby rozwiązać problem:

  1. Zmniejsz liczbę połączeń. Odwiedź panel Sesje, aby określić ilość aktywności:

  2. Identyfikuj i dostosowuj długo działające zapytania:

    a. Użyj pulpitu nawigacyjnego Workload Analyzer, aby wyświetlić najlepsze SQL według czasu aktywności. Kliknij wymiar Instrukcje SQL i posortuj zapytania według danych Czas aktywności:


    b. Użyj pulpitu nawigacyjnego Workload Analyzer, aby zobaczyć najlepsze SQL według stopnia równoległości. Dostosuj zapytania lub użyj wskazówek dotyczących zapytań w instrukcjach zapytań, aby zmniejszyć użycie stopnia równoległości.

    I. Podświetl wymiar SQL Statement z drzewa i kliknij ikonę hamburgera, aby otworzyć selektor metryk:


    II. Zlokalizuj pole Stopień równoległości i włącz je. Użyj myszki, aby przeciągnąć pole na górę listy pól


    III. Sortuj według kolumny Stopień równoległości, aby zidentyfikować zapytania z największą liczbą wątków:


    c. Użyj narzędzia Workload Analyzer, aby odfiltrować najpopularniejsze kody SQL według typu oczekiwania na procesor. Kliknij ikonę typu CPU wait na banerze i rozwiń wymiar SQL Statements. Dostosuj odpowiednio zapytania:


    d. Użyj pulpitu nawigacyjnego Workload Analyzer, aby przefiltrować główny kod SQL według innego typu oczekiwania. Kliknij ikonę innego typu oczekiwania na banerze. Rozwiń wymiar Instrukcje SQL. Użyj okienka Podział zasobów, aby zidentyfikować zapytania z typem oczekiwania CXPACKET. Dostosuj odpowiednio zapytania:
Wypróbuj Spotlight Cloud za darmo!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć unikatowe ograniczenie, które również dopuszcza wartości null?

  2. Jakie są sposoby uzyskania dostępu do Microsoft SQL Server z systemu Linux?

  3. Jak uwzględnić wyniki związane z ostatnim miejscem podczas używania klauzuli TOP w SQL Server?

  4. SQL Server ORDER BY data i wartości null trwają

  5. Jak migrować zadania SQL Server z jednej instancji SQL Server do innej?