Partitioning and grooming has completed recently

Microsoft.SystemCenter.OpsMgrDB.PartitioningAndGroomingMonitor (UnitMonitor)

This monitor detects if partitioning and grooming processes have not completed successfully for too many days in a row.

Knowledge Base article:

Summary

The processes that run to partition and groom the data stored in the operational database have not completed successfully in recent history. If these processes continue to not complete successfully then the performance of the operational database will be negatively impacted, which will slow down the entire management group. Ultimately the operational database will fill up entirely and the management group will cease to function.

Configuration

This monitor could be overridden to provide a different configuration:

Causes

The reason this alert has been generated is because the partitioning and grooming process have not completed successfully within recent history. By default, this monitor is configured to generate an alert if the processes have not completed successfully within the previous 2 days. Some of the causes for the partitioning and grooming process not completing successfully include the following:

Resolutions

The following steps cover how to troubleshoot and resolve this issue for the most common issues:

Element properties:

TargetMicrosoft.SystemCenter.OpsMgrDBWatcher
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.2007.OpsMgrDB.PartitioningAndGroomingMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Partitioning and grooming has not completed recently
The partitioning and grooming processes for the operational database ({1}) on the server {0} have either not been run recently or have been failing. At the time this alert was raised, the partitioning and grooming process had not completed for days.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.OpsMgrDB.PartitioningAndGroomingMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.2007.OpsMgrDB.PartitioningAndGroomingMonitorType" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.OpsMgrDB.PartitioningAndGroomingMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthyfulPartitionGroomingProcess" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="WarningPartitionGroomingProcess" MonitorTypeStateID="WarningThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<Synctime>12:01</Synctime>
<TimeoutSeconds>300</TimeoutSeconds>
<DatabaseServerName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</DatabaseServerName>
<DatabaseName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</DatabaseName>
<Threshold>2</Threshold>
<TimesBeforeAlert>2</TimesBeforeAlert>
</Configuration>
</UnitMonitor>