DB FILESTREAM ファイル グループ空き領域

Microsoft.SQLServer.2016.Monitoring.DBFileStreamGroupSpaceMonitor (UnitMonitor)

モニターは、空き領域が警告しきい値設定を下回るときに警告を出します。これは、データ サイズの合計に対する割合で示されます。モニターは、空き領域が重大しきい値を下回るときに重大アラートを出します。

Knowledge Base article:

概要

モニターは、FILESTREAM ファイル グループ コンテナーの使用可能なディスク領域が、警告しきい値を下回るときに警告を出します。これは、ディスクの空き領域の合計に対する割合で示されます。モニターは、空き領域が重大しきい値を下回るときに重大アラートを出します。

FILESTREAM ファイル グループのデータ コンテナー フォルダーは、通常、データが表に追加されるにつれて大きくなります。そのため、管理者はこのパラメーターを監視して、コンテナー フォルダーの保存場所に十分な空き領域があることを確認します。

原因

FILESTREAM データ コンテナーが構成されているドライブの使用可能なディスク領域が不足すると、データの正常な処理を妨げる障害、ユーザーのクエリを遅らせる障害、またはディスク領域の同じ割り当てを共有する他のアプリケーションに影響を与える障害などが発生する場合があります。

解決策

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

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

名前

説明

既定値

アラートの優先度

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

アラートの重要度

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

エラー

Azure 最大ファイル サイズ (MB)

Azure 最大ファイル サイズ (MB)

1048576

重大のしきい値

このモニターは、値がこのしきい値を下回った場合、状態を重大に変更します。このしきい値と警告しきい値の間 (両端を含む) にある場合、モニターは警告状態になります。

10

有効

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

はい

アラートを生成する

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

はい

間隔 (秒)

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

900

同期時刻

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

 

タイムアウト (秒)

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

300

警告のしきい値

このモニターは、値がこのしきい値を下回った場合、状態を警告に変更します。

20

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFd
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBFileStreamGroupSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: DB FILESTREAM ファイル グループ データ コンテナーの領域を使い果たしました
コンピューター "{3}" の SQL インスタンス "{2}" のデータベース "{1}" にあるファイル グループ "{0}" の DB FILESTREAM ファイル グループ データ コンテナーの領域を使い果たしました。詳細については、サポート技術情報セクションを参照してください。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBFileStreamGroupSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBFileStreamGroupSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBFileStreamFileGroupSpaceMonitor.AlertMessage">
<AlertOnState>Error</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>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL DB FileStream FileGroup</ObjectName>
<CounterName>DB FileStrem FileGroup Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd"]/GroupID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>