MSSQL 2008: Puffercache-Trefferquote erfassen

Microsoft.SQLServer.2008.BufferCacheHitRatio (Rule)

Erfasst den Windows-Leistungsindikator "Puffercache-Trefferquote" für jede Instanz des SQL 2008-Datenbankmoduls.

Knowledge Base article:

Zusammenfassung

Prozentsatz der Seiten, die im Puffercache gefunden wurden, ohne dass ein Lesevorgang vom Datenträger erforderlich war. Die Quote ist die Gesamtzahl von Cachetreffern dividiert durch die Gesamtzahl der Cachesuchvorgänge für die letzten paar Tausend Seitenzugriffe. Nach längerer Zeit verschiebt sich die Quote geringfügig. Da das Lesen vom Cache weniger aufwendig als das Lesen vom Datenträger ist, ist es in Ihrem Interesse, dass diese Quote hoch ist. Im Allgemeinen können Sie die Puffercache-Trefferquote erhöhen, indem Sie den Arbeitsspeicher, der SQL Server zur Verfügung steht, erhöhen.

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryPerformanceCollection
EnabledTrue
Instance Name$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Buffer Manager
Counter NameBuffer cache hit ratio
Frequency900
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Microsoft.SQLServer.SQLDefaultAccount
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.BufferCacheHitRatio" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemPerf!System.Performance.DataProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Buffer cache hit ratio</CounterName>
<ObjectName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Buffer Manager</ObjectName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="PerfMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL DB Engine:Buffer Manager</ObjectName>
<CounterName>$Data/CounterName$</CounterName>
<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>