MSSQL on Linux: DB のアクティブなセッション数

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

Linux 上の SQL DB のアクティブなセッション数のパフォーマンス収集ルール

Knowledge Base article:

概要

SQL DB のアクティブなセッション数

アクティブなセッション数メトリックは、データベースへの外部クライアント接続と内部システム接続の合計を示します。このメトリックが非常に高い場合、接続しているクライアントにパフォーマンス上の問題が発生しており、接続していないその他のクライアントでデータベースへのアクセスに問題が発生している可能性があります。

詳細については、「sys.dm_exec_sessions (Transact-SQL)」ドキュメントを参照してください:

http://go.microsoft.com/fwlink/?LinkId=799303

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローを有効または無効にします。

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

900

同期時刻

24 時間形式で指定した同期時刻。省略可能です。

 

タイムアウト (秒)

ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。

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.ConditionDetection.DBActiveSessionsCountMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Database.DBActiveSessionsCount" 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.ConditionDetection.DBActiveSessionsCountMapper">
<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>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>