sys.dm_os_latch_stats (języka Transact-SQL)
Zwraca informacje o wszystkich czeka zatrzaśnięcie zorganizowane według klasy.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
latch_class |
nvarchar(120) |
Nazwa klasy zatrzaśnięcie . |
waiting_requests_count |
bigint |
Liczba czeka na zamki w tej klasie.Ten licznik jest zwiększany przy rozpoczęciu oczekiwania zatrzaśnięcie . |
wait_time_ms |
bigint |
Całkowity czas, w milisekundach na zamki w tej klasie. ![]()
W tej kolumna jest aktualizowana co pięć minut, podczas oczekiwania zatrzaśnięcie i na końcu oczekiwania zatrzaśnięcie .
|
max_wait_time_ms |
bigint |
Maksymalny czas na tym zatrzaśnięcieczekał obiektu pamięci.Jeśli wartość ta jest wyjątkowo wysoki, może to wskazywać wewnętrznego zakleszczenie. |
Uprawnienia
Wymaga uprawnienia Wyświetlanie stanu serwera na serwerze.
Uwagi
sys.dm_os_latch_statsmożna zidentyfikować źródło zatrzaśnięcie rywalizacja przez sprawdzenie względne oczekiwania i oczekiwania razy zatrzaśnięcie różnych klas.W niektórych sytuacjach może być możliwe rozwiązania lub zmniejszenia zatrzaśnięcie rywalizacja.Jednak może być sytuacje, które wymagają możesz skontaktować się z Microsoft usługi obsługi klienta.
Resetuj zawartość sys.dm_os_latch_stats za pomocą DBCC SQLPERF w następujący sposób:
DBCC SQLPERF ('sys.dm_os_latch_stats', CLEAR);
GO
Ta opcja resetuje wszystkie liczniki na 0.
Ostrzeżenie
Statystyki te nie są zachowywane, jeśli SQL Server jest ponownie uruchamiany.Wszystkie dane są zbiorcze, od ostatniego czas zostały zresetowane statystyki lub od SQL Server została uruchomiona.
Zamki
zatrzaśnięcie jest obiektem lekkie synchronizacji, który jest używany przez różnych SQL Server składników.zatrzaśnięcie służy głównie do synchronizacji stron bazy danych.Każdy zatrzaśnięcie jest skojarzony z jednej jednostka alokacji.
Oczekiwania zatrzaśnięcie występuje, gdy żądanie zatrzaśnięcie nie udzielić natychmiast, ponieważ zatrzaśnięcie jest w posiadaniu innego wątek w trybie powodujące konflikt.W przeciwieństwie do blokady, zatrzaśnięcie jest zwolnione natychmiast po wykonaniu operacji, nawet w przypadku operacji zapisu.
Zamki są podzielone na podstawie składników i sposób użycia klasy.Zero lub więcej zamków konkretnej klasy mogą istnieć w dowolnym momencie w czas w wystąpienie SQL Server.
Ostrzeżenie
sys.dm_os_latch_statsnie śledzi zatrzaśnięcie żądania, który przyznano natychmiast lub który nie powiodło się, bez oczekiwania.
Poniższa tabela zawiera krótkie opisy różnych klas zatrzaśnięcie .
Klasa zatrzaśnięć |
Opis |
---|---|
ALLOC_CREATE_RINGBUF |
Używane wewnętrznie przez SQL Server zainicjować synchronizacji tworzenia buforu ring alokacji. |
ALLOC_CREATE_FREESPACE_CACHE |
Służy do inicjowania synchronizacji bufory wewnętrzne Zwolnij miejsce dla stert. |
ALLOC_CACHE_MANAGER |
Służy do synchronizowania wewnętrznej spójności badań. |
ALLOC_FREESPACE_CACHE |
Używane zsynchronizować dostęp do pamięci podręcznej stron z dostępnego miejsca dla stert i duże obiekty binarne (bloków BLOB).Spróbuj wstawić wiersze do stosu lub obiektu BLOB w tym samym czaswiele połączeń, mogą pojawić się rywalizacja o zamków tej klasy.Zmniejszyć to rywalizacja partycjonowanie obiektu.Każda partycja ma swój własny zatrzaśnięcie.Partycjonowanie rozpowszechniać wstawia przez wiele zamków. |
ALLOC_EXTENT_CACHE |
Używane zsynchronizować dostęp do buforu zakresów, zawierający stron, które nie zostały przydzielone.Rywalizacja o zamków tej klasy może wystąpić, gdy wiele połączeń próbuje przydzielić danych stron w tej samej jednostka alokacji w tym samym czas.To rywalizacja może być zmniejszona o partycjonowanie obiektu, którego częścią jest ta jednostka alokacji . |
ACCESS_METHODS_DATASET_PARENT |
Używane do synchronizowania podrzędność dataset dostęp do zestawu nadrzędnego danych podczas operacji równoległych. |
ACCESS_METHODS_HOBT_FACTORY |
Służy do synchronizowania dostępu do mieszania wewnętrznej tabela. |
ACCESS_METHODS_HOBT |
Służy do synchronizowania dostępu do reprezentacji w pamięci HoBt. |
ACCESS_METHODS_HOBT_COUNT |
Służy do synchronizowania dostępu do liczników strona i wiersza HoBt. |
ACCESS_METHODS_HOBT_VIRTUAL_ROOT |
Służy do synchronizowania dostępu do pozyskiwania strona główny wewnętrzny B-drzewo. |
ACCESS_METHODS_CACHE_ONLY_HOBT_ALLOC |
Służy do synchronizowania dostępu worktable. |
ACCESS_METHODS_BULK_ALLOC |
Służy do synchronizowania dostępu w ramach allocators luzem. |
ACCESS_METHODS_SCAN_RANGE_GENERATOR |
Używane zsynchronizować dostęp do zakres generator podczas skanowania równoległych. |
ACCESS_METHODS_KEY_RANGE_GENERATOR |
Używane zsynchronizować dostęp do operacji odczytu z wyprzedzeniem podczas skanowania równoległychzakres klucz. |
APPEND_ONLY_STORAGE_INSERT_POINT |
Służy do synchronizowania wstawia w jednostkach składowania fast tylko Dołącz. |
APPEND_ONLY_STORAGE_FIRST_ALLOC |
Służy do synchronizowania pierwszej alokacji dla jednostki składowania tylko do dołączania. |
APPEND_ONLY_STORAGE_UNIT_MANAGER |
Używane dla synchronizacji dostępu do danych wewnętrznych struktury w ramach Menedżera jednostki składowania fast tylko Dołącz. |
APPEND_ONLY_STORAGE_MANAGER |
Używane do synchronizowania zmniejszania operacji w Menedżerze jednostki szybkie tylko Dołącz magazyn. |
BACKUP_RESULT_SET |
Służy do synchronizowania równoległego kopia zapasowa zestawów wyników. |
BACKUP_TAPE_POOL |
Służy do synchronizowania pul taśmy kopia zapasowa . |
BACKUP_LOG_REDO |
Służy do synchronizowania kopia zapasowa zapasowych dziennika ponowne wykonanie . |
BACKUP_INSTANCE_ID |
Służy do synchronizowania generowanie wystąpienie identyfikatorów dla kopia zapasowa liczników Monitora wydajności. |
BACKUP_MANAGER |
Służy do synchronizowania wewnętrznego kopia zapasowa menedżera. |
BACKUP_MANAGER_DIFFERENTIAL |
Używane do synchronizacji z DBCC operacji różnicowej kopia zapasowa . |
BACKUP_OPERATION |
Używane do synchronizacji struktury danych wewnętrznych w ramach operacji kopia zapasowa , takie jak bazy danych, dziennika lub pliku kopia zapasowa. |
BACKUP_FILE_HANDLE |
Służy do synchronizowania operacje otwarcia pliku podczas operacji przywracanie . |
BUFOR |
Używane do synchronizowania krótkoterminowe dostęp do stron bazy danych.Bufor zatrzaśnięcie jest wymagane przed przeczytaniem lub modyfikowanie dowolnej bazy danych strona.Bufor zatrzaśnięcie rywalizacja można wskazać kilka problemów, w tym stron hot i spowolnić We/Wy. Ta klasa zatrzaśnięcie obejmuje wszystkich możliwych zastosowań zatrzaśnięcia strona .sys.dm_os_wait_statspowoduje, że różnica między stronaczekazatrzaśnięcie , spowodowane przez operacje We/Wy i odczytu i zapisu czynności na strona. |
BUFFER_POOL_GROW |
Używane do wewnętrznego buforu Menedżera synchronizacji podczas pula buforów rosnąć operacji. |
DATABASE_CHECKPOINT |
Używane do serializacji punktów kontrolnych w bazie danych. |
CLR_PROCEDURE_HASHTABLE |
Tylko do użytku wewnętrznego. |
CLR_UDX_STORE |
Tylko do użytku wewnętrznego. |
CLR_DATAT_ACCESS |
Tylko do użytku wewnętrznego. |
CLR_XVAR_PROXY_LIST |
Tylko do użytku wewnętrznego. |
DBCC_CHECK_AGGREGATE |
Tylko do użytku wewnętrznego. |
DBCC_CHECK_RESULTSET |
Tylko do użytku wewnętrznego. |
DBCC_CHECK_TABLE |
Tylko do użytku wewnętrznego. |
DBCC_CHECK_TABLE_INIT |
Tylko do użytku wewnętrznego. |
DBCC_CHECK_TRACE_LIST |
Tylko do użytku wewnętrznego. |
DBCC_FILE_CHECK_OBJECT |
Tylko do użytku wewnętrznego. |
DBCC_PERF |
Służy do synchronizowania liczników Monitora wydajności. |
DBCC_PFS_STATUS |
Tylko do użytku wewnętrznego. |
DBCC_OBJECT_METADATA |
Tylko do użytku wewnętrznego. |
DBCC_HASH_DLL |
Tylko do użytku wewnętrznego. |
EVENTING_CACHE |
Tylko do użytku wewnętrznego. |
FCB |
Służy do synchronizowania dostępu do pliku sterowania blok. |
FCB_REPLICA |
Tylko do użytku wewnętrznego. |
FGCB_ALLOC |
Służy do synchronizowania dostępu do informacji o alokacji okrężnej w obrębie grupa plików. |
FGCB_ADD_REMOVE |
Użyj, aby zsynchronizować dostęp do aplikacjami dla operacji na plikach Dodaj i UPUSZCZANIA. |
FILEGROUP_MANAGER |
Tylko do użytku wewnętrznego. |
FILE_MANAGER |
Tylko do użytku wewnętrznego. |
FILESTREAM_FCB |
Tylko do użytku wewnętrznego. |
FILESTREAM_FILE_MANAGER |
Tylko do użytku wewnętrznego. |
FILESTREAM_GHOST_FILES |
Tylko do użytku wewnętrznego. |
FILESTREAM_DFS_ROOT |
Tylko do użytku wewnętrznego. |
LOG_MANAGER |
Tylko do użytku wewnętrznego. |
FULLTEXT_DOCUMENT_ID |
Tylko do użytku wewnętrznego. |
FULLTEXT_DOCUMENT_ID_TRANSACTION |
Tylko do użytku wewnętrznego. |
FULLTEXT_DOCUMENT_ID_NOTIFY |
Tylko do użytku wewnętrznego. |
FULLTEXT_LOGS |
Tylko do użytku wewnętrznego. |
FULLTEXT_CRAWL_LOG |
Tylko do użytku wewnętrznego. |
FULLTEXT_ADMIN |
Tylko do użytku wewnętrznego. |
FULLTEXT_AMDIN_COMMAND_CACHE |
Tylko do użytku wewnętrznego. |
FULLTEXT_LANGUAGE_TABLE |
Tylko do użytku wewnętrznego. |
FULLTEXT_CRAWL_DM_LIST |
Tylko do użytku wewnętrznego. |
FULLTEXT_CRAWL_CATALOG |
Tylko do użytku wewnętrznego. |
FULLTEXT_FILE_MANAGER |
Tylko do użytku wewnętrznego. |
DATABASE_MIRRORING_REDO |
Tylko do użytku wewnętrznego. |
DATABASE_MIRRORING_SERVER |
Tylko do użytku wewnętrznego. |
DATABASE_MIRRORING_CONNECTION |
Tylko do użytku wewnętrznego. |
DATABASE_MIRRORING_STREAM |
Tylko do użytku wewnętrznego. |
QUERY_OPTIMIZER_VD_MANAGER |
Tylko do użytku wewnętrznego. |
QUERY_OPTIMIZER_ID_MANAGER |
Tylko do użytku wewnętrznego. |
QUERY_OPTIMIZER_VIEW_REP |
Tylko do użytku wewnętrznego. |
RECOVERY_BAD_PAGE_TABLE |
Tylko do użytku wewnętrznego. |
RECOVERY_MANAGER |
Tylko do użytku wewnętrznego. |
SECURITY_OPERATION_RULE_TABLE |
Tylko do użytku wewnętrznego. |
SECURITY_OBJPERM_CACHE |
Tylko do użytku wewnętrznego. |
SECURITY_CRYPTO |
Tylko do użytku wewnętrznego. |
SECURITY_KEY_RING |
Tylko do użytku wewnętrznego. |
SECURITY_KEY_LIST |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_CONNECTION_RECEIVE |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSMISSION |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSMISSION_UPDATE |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSMISSION_STATE |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSMISSION_ERRORS |
Tylko do użytku wewnętrznego. |
SSBXmitWork |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_MESSAGE_TRANSMISSION |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_MAP_MANAGER |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_HOST_NAME |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_READ_CACHE |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_WAITFOR_MANAGER |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_WAITFOR_TRANSACTION_DATA |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSMISSION_TRANSACTION_DATA |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_TRANSPORT |
Tylko do użytku wewnętrznego. |
SERVICE_BROKER_MIRROR_ROUTE |
Tylko do użytku wewnętrznego. |
TRACE_ID |
Tylko do użytku wewnętrznego. |
TRACE_AUDIT_ID |
Tylko do użytku wewnętrznego. |
TRACE |
Tylko do użytku wewnętrznego. |
TRACE_CONTROLLER |
Tylko do użytku wewnętrznego. |
TRACE_EVENT_QUEUE |
Tylko do użytku wewnętrznego. |
TRANSACTION_DISTRIBUTED_MARK |
Tylko do użytku wewnętrznego. |
TRANSACTION_OUTCOME |
Tylko do użytku wewnętrznego. |
NESTING_TRANSACTION_READONLY |
Tylko do użytku wewnętrznego. |
NESTING_TRANSACTION_FULL |
Tylko do użytku wewnętrznego. |
MSQL_TRANSACTION_MANAGER |
Tylko do użytku wewnętrznego. |
DATABASE_AUTONAME_MANAGER |
Tylko do użytku wewnętrznego. |
UTILITY_DYNAMIC_VECTOR |
Tylko do użytku wewnętrznego. |
UTILITY_SPARSE_BITMAP |
Tylko do użytku wewnętrznego. |
UTILITY_DATABASE_DROP |
Tylko do użytku wewnętrznego. |
UTILITY_DYNAMIC_MANAGER_VIEW |
Tylko do użytku wewnętrznego. |
UTILITY_DEBUG_FILESTREAM |
Tylko do użytku wewnętrznego. |
UTILITY_LOCK_INFORMATION |
Tylko do użytku wewnętrznego. |
VERSIONING_TRANSACTION |
Tylko do użytku wewnętrznego. |
VERSIONING_TRANSACTION_LIST |
Tylko do użytku wewnętrznego. |
VERSIONING_TRANSACTION_CHAIN |
Tylko do użytku wewnętrznego. |
VERSIONING_STATE |
Tylko do użytku wewnętrznego. |
VERSIONING_STATE_CHANGE |
Tylko do użytku wewnętrznego. |
KTM_VIRTUAL_CLOCK |
Tylko do użytku wewnętrznego. |