Monitors the free space percentage left on a disk drive.
Monitors the free space percentage left on a disk drive.
Unhealthy state is caused by the disk having low free space in percentage terms. This can be caused by:
A fast growing auto grow file that consumed a large amount of free space on disk
A foreign object or file that consumed a large amount of free space on disk
This issue may be resolved by either:
Relocating all data from this logical drive to a larger logical drive
Increasing the size of the logical drive (if it is mapped to a volume that can be extended with Disk Manager)
Relocating fast growing foreign files from current logical drive to separate logical drive
Modifying the thresholds for this monitor to suit the workload
Alternatively, if disk space is not a concern for the file:
Disable this monitor for this specific file or all files
See SQL Server Books Online: Files and Filegroups Architecture
Name | Description | Default Value |
Alert Priority | Defines Alert Priority. | Normal |
Alert Severity | Defines Alert Severity. | Error |
Enabled | Enables or disables the workflow. | No |
Frequency (seconds) | The recurring interval of time in seconds in which to run the workflow. | 3600 |
Generates Alerts | Defines whether the workflow generates an Alert. | Yes |
Threshold | The collected value will be compared against this parameter. | 5 |
Target | Microsoft.SQLServer.2008.DBFile | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Instance Name | LogicalDisk | ||
Counter Name | \% Free Space | ||
Frequency | 3600 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ThresholdMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.DBFile.DiskFreeSpace" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.DBFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ThresholdMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.DBFile.DiskFreeSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFile"]/Drive$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Error"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Free Space</CounterName>
<ObjectName>LogicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFile"]/Drive$</InstanceName>
<Frequency>3600</Frequency>
<Threshold>5</Threshold>
</Configuration>
</UnitMonitor>