MSSQL 2008 : Collecter le taux d'accès au cache des tampons

Microsoft.SQLServer.2008.BufferCacheHitRatio (Rule)

Collecte le taux d'accès au cache des tampons sur le compteur de performance Windows de chaque instance du moteur de base de données SQL Server 2008.

Knowledge Base article:

Résumé

Pourcentage des pages retrouvées dans le cache des tampons sans devoir être lues sur le disque. Ce rapport correspond au nombre total de présences dans le cache divisé par le nombre total de recherches dans le cache au cours des quelques derniers milliers d'accès aux pages. Au bout d'un certain temps, ce rapport change peu. Comme la lecture à partir du cache est beaucoup moins coûteuse que la lecture à partir du disque, ce rapport devrait être élevé. En général, il est possible d'augmenter le taux d'accès au cache des tampons en augmentant la quantité de mémoire mise à la disposition de SQL Server.

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>