Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Na serwerze wychodzą informacje o każdej kolejce workerów garbage collection oraz różne statystyki dotyczące każdego z nich. Na każdy logiczny CPU jest jedna kolejka.
Główny wątek zbierania śmieci (wątek bezczynności) śledzi zaktualizowane, usunięte i wstawione wiersze wszystkich transakcji zakończonych od ostatniego wywołania głównego wątku zbierania śmieci. Gdy wątek zbierania śmieci się budzi, ustala, czy zmienił się znacznik czasu najstarszej aktywnej transakcji. Jeśli najstarsza aktywna transakcja się zmieniła, wątek bezczynny wrzuca zadania do kolejek (w częściach po 16 wierszy) dla transakcji, których zestawy zapisów nie są już potrzebne. Na przykład, jeśli usuniesz 1 024 wiersze, ostatecznie zobaczysz 64 elementy pracy w garbage collection w kolejce, z których każdy zawiera 16 usuniętych wierszy. Po zatwierdzeniu transakcji użytkownika, wybiera on wszystkie elementy w kolejce w swoim harmonogramie. Jeśli na planiście nie ma kolejek elementów, transakcja użytkownika będzie wyszukiwać w dowolnej kolejce w bieżącym węźle NUMA.
Możesz sprawdzić, czy garbage collection zwalnia pamięć na usunięte wiersze, wykonując sys.dm_xtp_gc_queue_stats, aby sprawdzić, czy praca w kolejce jest przetwarzana. Jeśli wpisy w current_queue_depth nie są przetwarzane lub nie są dodawane nowe elementy pracy do current_queue_depth, to wskazuje, że garbage collection nie uwalnia pamięci. Na przykład garbage collection nie może być przeprowadzony, jeśli transakcja trwa długo.
Aby uzyskać więcej informacji, zobacz In-Memory OLTP (In-Memory Optimization).
| Nazwa kolumny | Typ | Description |
|---|---|---|
| queue_id | int | Unikalny identyfikator kolejki. |
| total_enqueues | bigint | Łączna liczba zadań garbage collection zaliczonych do tej kolejki od momentu uruchomienia serwera. |
| total_dequeues | bigint | Łączna liczba zadań pracy garbage collection wyciągniętych z tej kolejki od momentu uruchomienia serwera. |
| current_queue_depth | bigint | Aktualna liczba zadań pracy w garbage collection znajduje się w tej kolejce. Ten przedmiot może sugerować, że jeden lub więcej jest zbieranych śmieciami. |
| maximum_queue_depth | bigint | Maksymalna głębokość, jaką widziała ta kolejka. |
| last_service_ticks | bigint | CPU tyka w momencie, gdy kolejka była ostatnio obsługiwana. |
Permissions
Wymaga uprawnień VIEW SERVER STATE.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Scenariusz użytkownika
Ten wynik pokazuje, że SQL Server działa na 4 rdzeniach lub instancja SQL Server została afinityzowana do 4 rdzeni:
Ten wynik pokazuje, że w kolejkach nie ma żadnych zadań do przetworzenia. Dla kolejki 0 łączna liczba elementów roboczych wyjętych z kolejki od startu SQL wynosi 15625, a maksymalna głębokość kolejki to 15625.
queue_id total_enqueues total_dequeues current_queue_depth maximum_queue_depth last_service_ticks
----------------------------------------------------------------------------------------------------
0 15625 15625 0 15625 1233573168347
1 15625 15625 0 15625 1234123295566
2 15625 15625 0 15625 1233569418146
3 15625 15625 0 15625 1233571605761
Zobacz także
Memory-Optimized Dynamiczne widoki zarządzania tabelą (Transact-SQL)