sys.dm_os_performance_counters (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Vrátí řádek pro každý čítač výkonu spravovaný serverem. Pro informace o každém ukazateli výkonu viz Použít SQL Server objekty.

Note

Pokud to chcete volat ze služby Azure Synapse Analytics nebo systému PDW (Analytics Platform System), použijte název sys.dm_pdw_nodes_os_performance_counters. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.

Název sloupce Datový typ Description
object_name nchar(128) Kategorie, do které tento čítač patří.
counter_name nchar(128) Název pultu. Pro více informací o čítači je toto název tématu, které si vybíráte ze seznamu čítačů v sekci Použijte SQL Server Objects.
instance_name nchar(128) Název konkrétní instance čítače. Často obsahuje název databáze.
cntr_value bigint Aktuální hodnota počítadla.

Poznámka: Pro počítadlo za sekundu je tato hodnota kumulativní. Hodnota rychlosti musí být vypočítána vzorkováním hodnoty v diskrétních časových intervalech. Rozdíl mezi libovolnými dvěma po sobě jdoucími hodnotami vzorku je roven rychlosti pro použitý časový interval.
cntr_type int Typ čítače definovaný výkonnostní architekturou Windows. Více informací o typech výkonových čítačů najdete v dokumentaci WMI Performance Counter Types v dokumentaci nebo ve vašem Windows Serveru.
pdw_node_id int platí pro: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifikátor uzlu, na který je tato distribuce zapnutá.

Poznámky

Pokud instalační instance SQL Serveru nedokáže zobrazit výkonnostní čítače operačního systému Windows, použijte následující Transact-SQL dotaz k potvrzení, že výkonnostní čítače byly deaktivovány.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Pokud je návratová hodnota 0 řádků, znamená to, že výkonnostní čítače byly deaktivovány. Poté byste se měli podívat do logu nastavení a vyhledat chybu 3409, což znamená, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. že výkonnostní čítače nebyly povoleny. Chyby těsně před chybou 3409 by měly naznačovat hlavní příčinu selhání povolení výkonnostních čítačů. Pro více informací o logovacích souborech nastavení viz Zobrazit a přečíst SQL Server Setup Log soubory.

Výkonnostní čítače, kde je sloupcová cntr_type hodnota 65792, zobrazují pouze snímek poslední pozorované hodnoty, nikoli průměr.

Výkonnostní čítače, kde je hodnota sloupce cntr_type 272696320 nebo 272696576 zobrazují průměrný počet dokončených operací během každé sekundy vzorkovacího intervalu. Čítače tohoto typu měří čas v tikech systémových hodin. Například abyste získali snapshot podobné čtení poslední sekundy pouze pro Buffer Manager:Lazy writes/sec čítače and (čítače and Buffer Manager:Checkpoint pages/sec ), musíte porovnat rozdíl mezi dvěma sběrnými body vzdálenými jednu sekundou.

Výkonnostní čítače, kde je hodnota sloupce cntr_type 537003264 zobrazují poměr podmnožiny k její sadě jako procenta. Například Buffer Manager:Buffer cache hit ratio čítač porovnává celkový počet výsledků v cache a celkový počet vyhledávání cache. Proto, abyste získali snapshot hodnotu pouze poslední sekundy, musíte porovnat rozdíl mezi aktuální hodnotou a základní hodnotou (jmenovateli) mezi dvěma sběrnými body vzdálenými jednu sekundu. Odpovídající základní hodnota je výkonnostní čítač Buffer Manager:Buffer cache hit ratio base , kde sloupcová cntr_type hodnota je 1073939712.

Výkonnostní čítače, kde je hodnota sloupce cntr_type 1073874176 zobrazovat, kolik položek je v průměru zpracováno, jako poměr zpracovaných položek k počtu operací. Například Locks:Average Wait Time (ms) čítače porovnávají čekání na zámek za sekundu s počtem požadavků na zámek za sekundu, aby zobrazily průměrnou dobu čekání (v milisekundách) pro každý požadavek na zámek, který vedl k čekání. Proto, abyste získali snapshot hodnotu pouze poslední sekundy, musíte porovnat rozdíl mezi aktuální hodnotou a základní hodnotou (jmenovateli) mezi dvěma sběrnými body vzdálenými jednu sekundu. Odpovídající základní hodnota je výkonnostní čítač Locks:Average Wait Time Base , kde sloupcová cntr_type hodnota je 1073939712.

Data v sys.dm_os_performance_counters DMV nejsou po restartu databázového enginu uchovávána. Pomocí sloupce sqlserver_start_time v sys.dm_os_sys_info vyhledejte čas posledního spuštění databázového stroje.

Povolení

Na SQL Serveru a spravované instanci SQL vyžaduje VIEW SERVER STATE oprávnění.

U služby SQL Database Basic, S0a S1 a pro databáze v elastických fondech, účet správce serveru serveru, účet správce Microsoft Entra nebo členství v roli ##MS_ServerStateReader##serveru. U všech ostatních cílů služby SQL Database se vyžaduje buď oprávnění VIEW DATABASE STATE k databázi, nebo členství v roli serveru ##MS_ServerStateReader##.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje VIEW oprávnění SERVER PERFORMANCE STATE na serveru.

Examples

Následující příklad vrací všechny výkonnostní čítače, které zobrazují hodnoty snapshot čítačů.

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;