DB メモリ最適化データ ファイルグループ コンテナー スペース (ロールアップ)

Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp (DependencyMonitor)

このモニターは、すべてのメモリ最適化データ ファイルグループ コンテナーの使用可能なディスク領域が、メモリ最適化データ ファイルグループ コンテナーのサイズとディスクの空き容量の合計に対する割合で表される警告しきい値の設定を下回ったときに警告を報告します。このモニターは、使用可能な容量が重大しきい値を下回ったときに重大状態を報告します。このモニターは依存関係 (ロールアップ) モニターです。

Knowledge Base article:

概要

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

このモニターは、すべてのメモリ最適化データ ファイルグループ コンテナーの利用可能なディスク領域が警告しきい値の設定を下回ると、警告を報告します。警告しきい値は、メモリ最適化データファイル グループ コンテナーのサイズとディスクの空き領域の合計をパーセントで表したものです。空き領域が重大しきい値を下回ると、モニターが重大状態を報告します。

メモリ最適化データ ファイルグループ コンテナー フォルダーは通常、より多くのデータがメモリ最適化データ テーブルに追加されるにつれて、時間の経過と共に増大します。管理者は、保存場所にコンテナー フォルダーのための十分な領域を確保するためにモニターを行います。

原因

データベースの保存場所が構成されているドライブの使用可能なディスク領域が小さくなりすぎると、障害が発生し、データの処理の失敗やユーザーのクエリの遅延が発生したり、ディスク領域の同じ割り当てを共有するその他のアプリケーションに影響を与える可能性があります。

ストレージは、永続的なメモリ最適化テーブル上の DML 操作の一部として割り当てられます。永続的なメモリ最適化テーブルのメモリ最適化データのサイズの最大で 4 倍のストレージを構成する必要があります。ストレージを適切に構成しても、ストレージの空き領域が足りない状態になる場合は、コンテナーによってサポートされている IOPS が、ワークロードの要求をサポートできなくなる可能性があります。コンテナーに関して一般的にお勧めされるのは、データ ファイル/デルタ ファイルの最初の作成と自動マージ操作 (ソース データ ファイル/デルタ ファイルを読み込んでからターゲット CFP にマージする必要がある) に関係するデータ生成の速度の 3 倍の IOPS をサポートすることです。

解決方法

使用可能なディスク領域が少なくなる問題に対する解決策は、その根本原因に応じて異なるため、この問題が発生した事例ごとに調査する必要があります。次に例を挙げる多くの解決策のいずれかにより、状況が軽減されることがあります。

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

名前

説明

既定値

アラートの優先度

アラートの優先順位を定義します。

アラートの重要度

アラートの重大度を定義します。

MatchMonitorHealth

有効

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

はい

アラートを生成する

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

はい

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFx
Parent MonitorMicrosoft.SQLServer.2016.AggregateMonitor.DBFileGroupFx.SpaceMonitor
AlgorithmBestOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.Container.FreeSpacePercent
RelationshipMicrosoft.SQLServer.2016.DBFileGroupFxHostsContainer
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: メモリ最適化データ ファイルグループ コンテナーが容量を使い果たしました
コンピューター "{3}" 上の SQL インスタンス "{2}" にあるデータベース "{1}" のメモリ最適化データ ファイルグループ "{0}" が容量を使い果たしました。ユニット モニターの状態を調べて、根本原因を判別してください。
詳細については、サポート技術情報のセクションを参照してください。

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" ParentMonitorID="Microsoft.SQLServer.2016.AggregateMonitor.DBFileGroupFx.SpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFxHostsContainer" MemberMonitor="Microsoft.SQLServer.2016.Monitor.Container.FreeSpacePercent">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>