MSSQL 2008: 收集数据库引擎平均等待时间(ms)

Microsoft.SQLServer.2008.DBEngine.AverageWaitTime.Collection (Rule)

SQL 2008 数据库引擎平均等待时间性能收集规则

Knowledge Base article:

摘要

针对 SQL 2008 数据库引擎的平均等待时间(ms)

导致等待的每个锁请求的平均等待时间(毫秒)。此计数器基于数据库引擎计数器,并且对于一个 SQL 实例上的所有数据库具有完全相同的值。

这是用于获取锁的平均等待时间,以毫秒为单位。该值越低,性能越好。如果该值变得超过 500,则可能正在出现阻塞情况,并且您最好找到阻塞的原因并予以修复。

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryPerformanceCollection
EnabledTrue
Instance Name$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Locks
Counter NameAverage Wait Time (ms)
Frequency900
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Microsoft.SQLServer.SQLProbeAccount
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.DBEngine.AverageWaitTime.Collection" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemPerf!System.Performance.DataProvider" RunAs="SQL!Microsoft.SQLServer.SQLProbeAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Average Wait Time (ms)</CounterName>
<ObjectName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Locks</ObjectName>
<InstanceName>_Total</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="PerfMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL DB Engine:Locks</ObjectName>
<CounterName>$Data/CounterName$</CounterName>
<InstanceName>$Data/InstanceName$</InstanceName>
<Value>$Data/Value$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>