Monitors the free space percentage left on a disk drive.
Monitors the free space percentage left on a disk drive.
An 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 available space on disk
A foreign object or file that consumed a large amount of available 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
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>