The monitor reports a warning, when the available free space for the partition storage location drops below Critical Threshold setting expressed as percentage of the sum of the total size of the folder plus disk free space. The monitor reports a critical alert, when the available space drops below Warning Threshold. The monitor does not monitor available space for the default storage location for SSAS instance.
The monitor reports a warning, when the available free space for the partition storage location drops below Critical Threshold setting, expressed as percentage of the sum of the total size of the folder plus free space. The monitor reports a critical alert, when the available space drops below Warning Threshold. The monitor does not monitor available space for the default storage location for SSAS instance.
When the available disk space as a percentage of the sum of the partition storage location folder size plus disk free space becomes low, the cube can become unhealthy, negatively affecting the 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 partition.
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 the following potential approaches:
Break the partition into multiple smaller partitions, moving some data to another drive.
Remove data consuming disk space on the same drive with the partition storage folder.
Increase the size of the logical drive on which the data folder is stored with Disk Manager.
Move the partition folder to a drive with more available space.
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 partition/instance.
Configure Server Properties in Analysis Services
TechNet documentation for SSAS Performance Counters
Name | Description | Default Value |
Critical Threshold (%) | Health State changes to Critical, when Partition Free Space (%) performance counter drops below the threshold. | 5 |
Enabled | Enables or disables the workflow | Yes |
Generates Alerts | Defines whether the workflow generates an Alert | Yes |
Interval Seconds | The recurring interval of time in seconds in which to run the workflow. | 900 |
Synchronization Time | The synchronization time specified by using a 24-hour format. May be omitted. |
|
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 300 |
Warning Threshold (%) | Health State changes to Warning, when Partition Free Space (%) performance counter drops below the threshold, but is still higher than Critical Threshold (%). | 10 |
Target | Microsoft.SQLServer.AnalysisServices.Windows.MultidimensionalPartition | ||
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.AnalysisServices.Windows.Monitoring.MonitorType.Partition.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.Monitor.Partition.FreeSpace" Target="SQLAS!Microsoft.SQLServer.AnalysisServices.Windows.MultidimensionalPartition" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.MonitorType.Partition.FreeSpacePercent" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.Monitor.Partition.FreeSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='TotalSpaceGB']$</AlertParameter1>
<AlertParameter2>$Target/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.MultidimensionalPartition']/StorageLocation$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='PartitionSizeGB']$</AlertParameter3>
<!--<AlertParameter4>$Target/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.MultidimensionalPartition']/MountPoint$</AlertParameter4>-->
<AlertParameter4>$Data/Context/Property[@Name='PartitionFreeSpacePercent']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='AvailableSpaceGB']$</AlertParameter5>
<AlertParameter6>$Target/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.MultidimensionalPartition']/PartitionName$</AlertParameter6>
<AlertParameter7>$Target/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.MultidimensionalPartition']/CubeName$</AlertParameter7>
<AlertParameter8>$Target/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.MultidimensionalPartition']/MeasureGroup$</AlertParameter8>
</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/Host/Host/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Host/Host/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.Instance']/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Host/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.Database']/DatabaseName$</DatabaseName>
<DataDir>$Target/Host/Host/Property[Type='ASCore!Microsoft.SQLServer.AnalysisServices.Core.Instance']/DataDir$</DataDir>
<WarningThreshold>10</WarningThreshold>
<CriticalThreshold>5</CriticalThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>