Linux 上的 MSSQL: 数据库活动事务计数

Microsoft.SQLServer.Linux.CollectionRule.Database.ActiveTransactions (Rule)

Linux 上的 MSSQL 数据库活动事务性能收集规则

Knowledge Base article:

摘要

针对 SQL 数据库的活动事务计数

针对数据库的活动事务数。

可替代参数

名称

说明

默认值

启用

启用或禁用工作流。

间隔(秒)

运行工作流的重复间隔时间(秒)。

900

超时(秒)

指定工作流在关闭之前允许运行的时间,并标记为失败。

300

数据库连接超时(秒)

如果在指定期间无法访问数据库,工作流将失败并注册一个事件。

15

Element properties:

TargetMicrosoft.SQLServer.Linux.Database
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.Linux.DataSource.SqlOsPerformanceReaderOptimized Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Database.ActiveTransactions" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Linux.DataSource.SqlOsPerformanceReaderOptimized">
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<ObjectName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$:Databases</ObjectName>
<PerfInstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</PerfInstanceName>
<PerfParams>
<NameOfHandler>SqlOsPerfCounterReader</NameOfHandler>
<PerformanceCounterObject>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
<CounterConfig>
<CategoryName>Databases</CategoryName>
<CounterName>Active Transactions</CounterName>
<BaseCounterName/>
<InstanceSelector>0</InstanceSelector>
<NeedsPrefix>1</NeedsPrefix>
<InstanceIndex>0</InstanceIndex>
</CounterConfig>
</PerfParams>
<PmObjectName>SQL Database</PmObjectName>
<PmCounterName>DB Active Transactions</PmCounterName>
<PmInstanceName/>
<PmValuePropertyName>CounterValue</PmValuePropertyName>
<Tolerance>1</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>4</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>