The monitor oversees the space available in all transaction log files in the database and on related media. The space available on the media hosting transaction log files is only included as part of the free space if autogrowth is enabled for at least one transaction log file. This monitor is a dependency (rollup) monitor.
Note: This monitor is a dependency (rollup) monitor. The health state for this monitor is determined by the best state of any member monitor. Please also review the knowledge base article for related unit monitors.
The monitor oversees the space available in all transaction log files in the database and on related media. The space available on the media hosting the log files is only included as part of the space available if autogrowth is enabled for at least one of the files. This monitor is a dependency (rollup) monitor.
An unhealthy state is caused by having low free space across all log files. Low free space can be caused by:
Inadequate file configuration settings (size, max size, autogrowth, etc.)
Inadequate space left on media
Lack of periodic regular backups
Log not truncating
This monitor aggregates the space available for each log file within a database depending on each file’s configuration:
No Autogrowth
For a file that is not configured to grow automatically, free space would be the difference between the size of the file and the used space (size of the data stored in the file).
Autogrowth Enabled
With autogrowth enabled, the available disk space is included as part of the free space. In addition to the difference between the file size and the used space, the free space for files with autogrowth enabled also includes the free space on the media (but not more than the difference between file max size and current file size).
Low free space for database files that have autogrowth could mean that the file is approaching the limits of the hosting logical drive. For files with autogrowth enabled with a max size, low free space could also mean that the file is approaching the max size specified for a file.
The free space calculations also take into account that the file can also fail to grow if the file growth step (in MB or %) is greater than the free space available on the media. The same logics applies to files, which have their growth limited by max size setting. In these situations, available free space left on disk is not included as part of the free space because further file expansion is impossible.
This issue may be resolved by either:
Increasing the allocated size for log files if autogrowth is disabled
Increasing the max size value for a log file if autogrowth is enabled
Enabling autogrowth for at least one file
Moving log files to another drive with more free space if growth space is limited
Performing regular backups of log files for FULL and BULK-LOGGED recovery modes
Investigate why log is not getting truncated:
Long open running active transactions
Long running backup operations
Replicated transaction open for a long time (Transactional Replication)
Mirror lagging behind principal server (Database Mirroring)
Modifying the thresholds for related unit monitors to suit the workload
Alternatively if log file free space is not a concern for the database:
Disable this monitor for this specific database or all databases
See SQL Server Books Online: Files and Filegroups Architecture
Name | Description | Default Value |
Alert Priority | Defines Alert Priority. | Normal |
Alert Severity | Defines Alert Severity. | MatchMonitorHealth |
Enabled | Enables or disables the workflow. | Yes |
Generates Alerts | Defines whether the workflow generates an Alert. | Yes |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor | ||
Algorithm | BestOf | ||
Source Monitor | Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor | ||
Relationship | Microsoft.SQLServer.2016.DBHostsLogFile | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
|
<DependencyMonitor ID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBHostsLogFile" MemberMonitor="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>