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

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

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

Knowledge Base article:

概要

このモニターは、FILESTREAM ファイルグループ コンテナーで利用可能なディスク領域が警告しきい値を下回ると、警告を報告します。警告しきい値は、ディスクの空き容量の合計をパーセントで表したものです。空き容量が重大しきい値を下回ると、モニターは重大アラートを報告します。

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

原因

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

解決策

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

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

名前

説明

既定値

アラートの優先度

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

アラートの重要度

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

エラー

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

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

1048576

重大のしきい値

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

10

有効

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

はい

アラートを生成する

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

はい

間隔 (秒)

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

900

同期時刻

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

 

タイムアウト (秒)

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

300

警告のしきい値

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

20

Element properties:

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

Source Code:

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