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
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Zwraca wiersz na każdy licznik wydajności utrzymywany przez serwer. Aby uzyskać informacje o każdym liczniku wydajności, zobacz Użyj obiektów SQL Server.
Uwaga / Notatka
Aby wywołać to z usługi Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_os_performance_counters. Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| object_name | nchar(128) | Kategoria, do której należy ten licznik. |
| counter_name | nchar(128) | Nazwa lady. Aby uzyskać więcej informacji o liczniku, to jest nazwa tematu, który należy wybrać z listy liczników w Użyj obiektów SQL Server. |
| instance_name | nchar(128) | Nazwa konkretnej instancji licznika. Często zawiera nazwę bazy danych. |
| cntr_value | bigint | Aktualna wartość licznika. Nuta: Dla liczników per-sekund ta wartość jest kumulatywna. Wartość szybkości musi być obliczana przez próbkowanie w dyskretnych odstępach czasowych. Różnica między dowolnymi dwoma kolejnymi wartościami próbki jest równa szybkości dla użytego przedziału czasu. |
| cntr_type | int | Typ licznika zdefiniowany przez architekturę wydajności Windows. Zobacz Typy Wskaźników Wydajności WMI w Dokumentacji lub w dokumentacji Windows Server, aby uzyskać więcej informacji o typach liczników wydajności. |
| pdw_node_id | int |
Dotyczy do: Azure Synapse Analytics, Analytics Platform System (PDW) Identyfikator węzła, w ramach którego znajduje się ta dystrybucja. |
Uwagi
Jeśli instancja instalacyjna SQL Server nie wyświetli liczników wydajności systemu Windows Transact-SQL, użyj następującego zapytania, aby potwierdzić, że liczniki wydajności zostały wyłączone.
SELECT COUNT(*) FROM sys.dm_os_performance_counters;
Jeśli wartość zwrotu wynosi 0 wierszy, oznacza to, że liczniki wydajności zostały wyłączone. Następnie powinieneś sprawdzić log konfiguracji i wyszukać błąd 3409, co oznacza, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. że liczniki wydajności nie były włączone. Błędy bezpośrednio przed błędem 3409 powinny wskazywać na źródłową przyczynę niepowodzenia włączenia licznika wydajności. Więcej informacji o plikach logów konfiguracji można znaleźć w sekcji Zobacz i przeczytaj pliki logów konfiguracji SQL Server.
Liczniki wydajności, gdzie wartość kolumny cntr_type wynosi 65792, wyświetlają migawkę tylko ostatniej zaobserwowanej wartości, a nie średnią.
Liczniki wydajności, gdzie wartość kolumny cntr_type wynosi 272696320 lub 272696576 wyświetlają średnią liczbę operacji wykonanych w każdej sekundzie przedziału próbkowania. Liczniki tego typu mierzą czas w tiknięciach zegara systemowego. Na przykład, aby uzyskać odczyt przypominający migawkę ostatniej sekundy tylko dla Buffer Manager:Lazy writes/sec liczników i Buffer Manager:Checkpoint pages/sec , musisz porównać różnicę między dwoma punktami zbioru oddzielonymi od jednej sekundy.
Liczniki wydajności, gdzie wartość kolumny cntr_type jest 537003264 wyświetlają stosunek podzbioru do zbioru jako procent. Na przykład licznik Buffer Manager:Buffer cache hit ratio porównuje łączną liczbę trafień cache z łączną liczbą wyszukiwań cache. Aby uzyskać odczyt przypominający migawkę tylko ostatniej sekundy, należy porównać różnicę między aktualną wartością a wartością bazową (mianownikiem) między dwoma punktami zbierania oddzielonymi od sekundy. Odpowiadającą wartością bazową jest licznik Buffer Manager:Buffer cache hit ratio base wydajności, gdzie wartość kolumny cntr_type wynosi 1073939712.
Liczniki wydajności, gdzie wartość kolumny cntr_type jest 1073874176 pokazują, ile elementów jest przetworzonych średnio, jako stosunek przetworzonych elementów do liczby operacji. Na przykład Locks:Average Wait Time (ms) liczniki porównują oczekiwania na blokadę na sekundę z liczbą żądań blokad na sekundę, aby wyświetlić średni czas oczekiwania (w milisekundach) dla każdego żądania blokady, które zakończyło się oczekiwaniem. Aby uzyskać odczyt przypominający migawkę tylko ostatniej sekundy, należy porównać różnicę między aktualną wartością a wartością bazową (mianownikiem) między dwoma punktami zbierania oddzielonymi od sekundy. Odpowiadającą wartością bazową jest licznik Locks:Average Wait Time Base wydajności, gdzie wartość kolumny cntr_type wynosi 1073939712.
Dane w sys.dm_os_performance_counters DMV nie są przechowywane po ponownym uruchomieniu silnika bazy danych. Użyj kolumny sqlserver_start_time w sys.dm_os_sys_info , aby znaleźć ostatni czas uruchamiania aparatu bazy danych.
Pozwolenie
W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.
W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Przykłady
Poniższy przykład zwraca wszystkie liczniki wydajności, które wyświetlają wartości liczników migawkowych.
SELECT object_name, counter_name, instance_name, cntr_value, cntr_type
FROM sys.dm_os_performance_counters
WHERE cntr_type = 65792 OR cntr_type = 272696320 OR cntr_type = 537003264;
Zobacz także
Dynamiczne widoki zarządzania związane z systemem operacyjnym PROGRAMU SQL Server (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)