Collects the Windows "Memory grants/sec" performance counter for each resource pool of SQL DB Engine.
The rule collects the Windows "Memory grants/sec" performance counter for each resource pool of SQL DB Engine.
Name | Description | Default Value |
Enabled | Enables or disables the workflow. | Yes |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. | 900 |
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 300 |
Timeout for query execution (seconds) | The workflow will fail and register an event, if the query execution takes longer than the specified period. | 60 |
Timeout for database connection (seconds) | The workflow will fail and register an event, if it cannot access the database during the specified period. | 15 |
Target | Microsoft.SQLServer.Windows.ResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.Windows.DataSource.SqlOsPerformanceReader | Default |
Mapper | ConditionDetection | System.Performance.DataGenericMapper | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectPerformanceData | Default |
WriteToDW | WriteAction | Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData | Default |
<Rule ID="Microsoft.SQLServer.Windows.CollectionRule.ResourcePool.MemoryGrantsSec" Target="SqlDiscW!Microsoft.SQLServer.Windows.ResourcePool" Enabled="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Windows.DataSource.SqlOsPerformanceReader">
<MachineName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<ObjectName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$:Resource Pool Stats</ObjectName>
<PerfInstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.ResourcePool"]/Name$</PerfInstanceName>
<PerfParams>
<NameOfHandler>SqlOsPerfCounterReader</NameOfHandler>
<PerformanceCounterObject>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
<CounterConfig>
<CategoryName>Resource Pool Stats</CategoryName>
<CounterName>Memory grants/sec</CounterName>
<BaseCounterName/>
<InstanceSelector>0</InstanceSelector>
<NeedsPrefix>1</NeedsPrefix>
<InstanceIndex>0</InstanceIndex>
</CounterConfig>
</PerfParams>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL Resource Pool:Resource Pool Stats</ObjectName>
<CounterName>Memory grants/sec</CounterName>
<InstanceName/>
<Value>$Data/Property[@Name='CounterValue']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>