ガベージ コレクションの状態 (ロールアップ)

Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState (DependencyMonitor)

すべてのメモリ最適化データ ファイルのアクティブな行によって使用されるスペース量がしきい値の設定を下回る場合、モニターは重大状態を報告し、アラートを生成します。しきい値は、データ ファイルのサイズの割合で表されます。このモニターは、依存関係 (ロールアップ) モニターです。

Knowledge Base article:

概要

注: このモニターは、依存関係 (ロールアップ) モニターです。このモニターの正常性状態は、最高の状態のメンバー モニターによって判断されます。関連するユニット モニターについて詳しくは、サポート技術情報もご確認ください。

このモニターは、ガベージ コレクターの FILL FACTOR (メモリ最適化データ ファイルのアクティブな行により使用される領域の量。データ ファイルのサイズの割合で表されます) が、関連するすべてのユニット モニターでしきい値の設定を下回る場合に、重大状態を報告してアラートを出します。

メモリ最適化データ ファイル グループのガベージ コレクションの FILL FACTOR は、挿入/削除された行を含むすべてのアクティブなデータ ファイル/デルタ ファイルの平均 FILL FACTOR を示すメトリックです。このメトリックが 50% より低い場合、自動マージが遅れていることを示します。CFP (チェックポイント ファイルのペア) の数が 8000 を下回り、メモリ最適化データ ファイル グループで利用できるストレージが十分ある限り、これは問題の直接的な原因にはなりません。

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

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

ガベージ コレクションの動作に関するセクションは、トピック「メモリ最適化オブジェクト用ストレージの作成と管理」で見つかります。

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

原因

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

解決方法

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

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

名前

説明

既定値

有効

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

はい

アラートを生成する

ワークフローがアラートを生成するかどうかを定義します。

いいえ

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState
RelationshipMicrosoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic

Source Code:

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