トランザクション ログの空き領域 (\%)

Microsoft.SQLServer.2014.Database.TransactionLogSpaceFreePercentMonitor (UnitMonitor)

2014 DB のトランザクション ログの空き領域 (\%) の監視。注: このモニターは既定では無効になっています。必要に応じて上書きを使用し、モニターを有効にしてください。

Knowledge Base article:

概要

SQL 2014 DB のトランザクション ログの空き領域 (%) モニター

原因

異常な状態は、全ログ ファイルの使用可能な領域が不足しているためです。使用可能な領域の不足の原因として、次のことが考えられます。

パフォーマンス データを表示するには、次のリンクを使用します。

データベース パフォーマンス データ

このモニターは、各ファイルの構成に応じて、データベース内の各ログ ファイルで使用可能な領域を集計します。

自動拡張なし

自動拡張しないファイルの場合、使用可能な領域はファイルの初期サイズと使用済み領域の差になります。

自動拡張有効

自動拡張が有効になっているファイルの使用可能領域は、ファイル サイズと使用済み領域の差に加えて、最大サイズとファイル サイズの差とディスクの残りの空き領域のうち、いずれか小さい方になります。

自動拡張が行われるデータベース ログ ファイルの利用可能な空き容量が少ない場合、ホストしている論理ドライブの制限にファイルが近付いていることを示します。 自動拡張が有効で最大サイズが指定されたファイルでは、利用可能な空き領域が少ない場合、ファイルが指定された最大サイズに近付いていることを示します。

使用可能な領域の計算では、ファイルの拡張量がディスクの残り領域よりも大きい場合にファイルが拡張できない可能性や、最大サイズと現在のファイル サイズの差が拡張領域よりも小さい場合にファイルが拡張できない可能性についても考慮します。これらの状況では、ファイルをこれ以上拡張できないため、ディスクに残っている使用可能な空き領域は使用可能な領域の一部に含まれません。

解決方法

この問題は、次のいずれかの方法で解決できる場合があります。

SQL Server オンライン ブック「 ファイルとファイル グループのアーキテクチャ」を参照してください。

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

名前

説明

既定値

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

Azure BLOB Storage に保存されているデータ ファイルの最大サイズ。ワークフローはこの値をファイルごとの最大記憶域容量と見なします。

1048576

有効

 

いいえ

アラートを生成する

 

はい

間隔 (秒)

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

300

サンプル数

測定値が何回しきい値に違反すると状態変更が生じるかを示します。

6

しきい値

収集された値はこのパラメーターと比較されます。

10

タイムアウト (秒)

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

180

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorMicrosoft.SQLServer.2014.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.Database.TransactionLogSpaceFreePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: トランザクション ログの空き領域 (\%) が少なすぎます
コンピューター "{2}" 上の SQL インスタンス "{1}" のデータベース "{0}" で、トランザクション ログの空き領域 (\%) が不足しています。詳細については、[アラートのコンテキスト] タブを参照してください。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Database.TransactionLogSpaceFreePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="Microsoft.SQLServer.2014.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Database.TransactionLogSpaceFreePercent.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.TransactionLogSpaceFreePercentMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>180</TimeoutSeconds>
<Threshold>10</Threshold>
<ConnectionString>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/PerformanceCounterObject$:TransactionLog</ObjectName>
<CounterName>Log Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBLogFreeSpacePercent']$</Value>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>