SQL Server 2014 インメモリ OLTP ファイル数 (ロールアップ)

Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs (DependencyMonitor)

このモニターは、データベースのインメモリ ファイル グループのアクティブ チェックポイント ファイル ペアの数が、指定されたしきい値よりも大きい場合に重大な状態を報告します。このモニターは、依存関係 (ロールアップ) モニターです。

Knowledge Base article:

概要

このモニターは、データベースのインメモリ ファイル グループにおけるアクティブなチェックポイント ファイルのペアの数が、指定されたしきい値よりも多い、重大な状態を報告します。

メモリ最適化ファイル グループは、最大で 8192 個のアクティブな CFP (チェックポイント ファイルのペア) を持ち、永続的なメモリ最適化テーブルに挿入、更新、および削除される行を保存できます。8,000 個の CFP が割り当てられる場合、新しい DML トランザクションを永続的なメモリ最適化テーブルで実行することができません。チェックポイントとマージ操作のみに、残りの項目の消費が許可されます。これにより、アプリケーションが使用できない状態が発生する可能性があります。このため、CFP の数を監視して、修正操作を行うことが重要です。

原因

理由は主に 2 つあります。1 つ目は、永続的なメモリ最適化テーブルのインメモリ サイズの制限である 256 GB を超えている可能性があります。2 つ目は、バックグラウンド スレッドによって行われる自動マージまたはデータの永続処理 (あるいはその両方) が、トランザクション処理に対応できていません。

CFP のマージは、内部マージ ポリシーに基づいて開始されます。詳細については、 この記事を参照してください。

解決方法

次の記事で説明するように、手動マージを実行し、強制的にガベージ コレクションを行います。

また、メモリ最適化ファイル グループのデータ ストレージで IO の問題が発生していないことを確認してください。

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

名前

説明

既定値

有効

 

はい

アラートを生成する

 

いいえ

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs
RelationshipMicrosoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>