2011-04-21 74 views
0

我正在研究SQL Server 2008R2和2012 Denali监控项目,我想找出所有PerfMon计数器及其细节,我的意思是哪个perfmon计数器用于什么目的。SQL Server PerfMon计数器详细信息

我曾在Google和MSDN上尝试过,但我无法获得提供所有SQL Server PerfMon计数器的详细信息的表。

从以下查询我得到了所有perfmon计数器列表,但我无法找到每个PerfMon计数器的详细信息。

SELECT * 
FROM sys.dm_os_performance_counters 

回答

2

你想监视什么?监控一切并不是一个可行的计划。 SQL Server 2008 R2和Denali都带有管理数据仓库(MDW),如果有企业,则实用程序控制点(UCP)可用。这些是SQL Server内置的监控工具,用于将信息保存在几个DMV(包括sys.dm_os_performance_counters)中。信息以特定的时间间隔进行轮询(一般为15秒,但您可以更改),并保存到各自的数据库中供您随时进行报告和检查。此信息被轮询和保存的原因之一是因为计数器是特定用途的,这意味着某些计数器从安装开始就会增加,而其他许多计数器在重新启动SQL Server时会重置。 CPU ticks是我知道需要至少2点数据才能看到cpu上的负载是多少。不知道这是否会帮助你的努力,但如果它确实,那么很酷 这就是说,有数百个SQL Server性能计数器,如果你查看perfmon,当你启动一个SQL计数器时,有一个描述可用下面,告诉你它究竟做了什么。如果你找不到怪物列表,我会尝试使用powershell来提取所有的sql计数器和它们各自的描述。我不会尝试从SQL获取信息,因为它不在那里,它在BOL中,但不是我曾经见过的列表。再加上问题,并非所有的计数器都有很好的记录。

这将给你perfmon中的所有SQL相关的计数器。希望这可以帮助。仍在努力拉动描述。不太了解powershell。 Get-Counter -listSet SQL | %{$ _。counter} 假设周围有SQL这个词的星号,但它的格式是斜体,而我是新的,所以我不知道如何解决这个问题。