MSSQL 2016: Datenbankmodul \endash durchschnittliche Wartezeit (ms)

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

SQL 2016-Datenbankmodul \endash Regel zur Erfassung der Leistungsdaten zur durchschnittlichen Wartezeit

Knowledge Base article:

Zusammenfassung

Durchschnittliche Wartezeit (ms) für SQL 2016-Datenbankmodul

Die durchschnittliche Länge der Wartezeit (in Millisekunden) für jede Sperranforderung, die nicht sofort erfüllt werden konnte. Dieser Leistungsindikator basiert auf dem Datenbankmodul-Leistungsindikator und hat identische Werte für alle Datenbanken in der einen SQL-Instanz.

Dies ist die durchschnittliche Wartezeit in Millisekunden, um eine Sperre abzurufen. Sie sollten den Wert möglichst weit senken. Wenn der Wert auf über 500 steigt, liegt möglicherweise ein Block vor. Sie sollten die Ursache des Blocks suchen und das Problem beheben.

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Häufigkeit (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

900

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryPerformanceCollection
EnabledTrue
Instance Name$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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.MonitoringAccount
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.2016.DBEngine.AverageWaitTime.Collection" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemPerf!System.Performance.DataProvider" RunAs="GPMP!Microsoft.SQLServer.MonitoringAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Average Wait Time (ms)</CounterName>
<ObjectName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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>