The monitor reports a warning when the available free space for the default storage for the instance drops below the Warning Threshold setting, expressed as percentage of the sum of estimated default storage folder (DataDir) size and disk free space. The monitor reports a critical alert when the available space drops below the Critical Threshold. The monitor does not take into account databases or partitions located in folders other than the default storage folder (DataDir).
The monitor reports a Warning when the available free space for the default storage for the instance drops below the Warning Threshold setting, expressed as percentage of the sum of estimated default storage folder (DataDir) size and disk free space. The monitor reports a critical alert when the available space drops below the Critical Threshold. The monitor does not take into account databases or partitions located in folders other than the default storage folder (DataDir).
When the available disk space as a percentage of the default storage folder (DataDir) size for the instance becomes low, the database can become unhealthy, negatively affecting performance or even causing the server to fail. A common cause for this behavior may be fast growing database(s), but could also occur due to other data sharing available disk space with the default storage folder (DataDir) for the instance.
The resolution(s) for disk space exhaustion depend upon the root causes, which must be investigated in each case when this issue occurs. The condition may be alleviated by any of many potential approaches:
Modify dimension design to remove unnecessary attributes or limit scope of members included from underlying data source, to reduce dimension size.
Remove data consuming disk space on the same drive with the SSAS instance default storage folder (DataDir), but not part of the SSAS instance itself.
Use Storage Location property to move cube partitions to non-default location with more free disk space.
Increase the size of the logical drive on which the data folder is stored with Disk Manager.
Copy the data folder in its entirety to a new drive with more available space, then change the DataDir setting for the instance in its msmdsrv.ini configuration to point to the new location, and restart the service to use the new location.
Modify the thresholds accordingly to suit the expected workload and conditions in the environment.
Disable the monitor entirely if disk space is not a concern for the instance.
Target | Microsoft.SQLServer.2008.AnalysisServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.FreeSpace" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.FreeSpacePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.FreeSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/DataDir$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='TotalOnInstanceDriveGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='InstanceDefaultForlderSizeGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='UsedOnInstanceDriveGB']$</AlertParameter4>
<AlertParameter5>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/MountPoint$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='ASInstanceFreeSpacePercent']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='ASInstanceFreeSpaceGB']$</AlertParameter7>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Above" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="Below" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/DataDir$</DataDir>
<CriticalThreshold>5</CriticalThreshold>
<WarningThreshold>10</WarningThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>