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

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

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

Knowledge Base article:

概要

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

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

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

原因

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

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

解決方法

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

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

名前

説明

既定値

有効

 

はい

アラートを生成する

 

はい

Element properties:

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

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.DBFileGroupFx" ParentMonitorID="Microsoft.SQLServer.2014.AggregateMonitor.DBFileGroupFx.SpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.DBFileGroupFxHostsContainer" MemberMonitor="Microsoft.SQLServer.2014.Monitor.Container.FreeSpacePercent">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.FileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.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>