OpsMgr 2012 Self Maintenance Operational Database LocalizedText Table Health Monitor

OpsMgr.2012.Self.Maintenance.Ops.DB.LocalizedText.Table.Health.Monitor (UnitMonitor)

Knowledge Base article:

Summary

“OpsMgr 2012 Self Maintenance Operational Database LocalizedText Table Health Monitor” detects if the LocalizedText table is the largest table in the Operational database and the row count is above configured threshold.

Configuration

This monitor runs on a schedule (by default once a day), and raises alert if LocalizedText table is the largest table AND the row count is above configured threshold.

Causes

This table is not touched by DB grooming job.

Resolutions

Run the SQL commands attached in this blog post to remove the data from LocalizedText table: http://blogs.technet.com/b/kevinholman/archive/2008/10/13/does-your-opsdb-keep-growing-is-your-localizedtext-table-using-all-the-space.aspx

Additional

http://blogs.technet.com/b/kevinholman/archive/2008/10/13/does-your-opsdb-keep-growing-is-your-localizedtext-table-using-all-the-space.aspx

Element properties:

TargetMicrosoft.SystemCenter.AllManagementServersPool
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeOpsMgr.2012.Self.Maintenance.Ops.DB.LocalizedText.Table.Health.Monitor.Type
RemotableTrue
AccessibilityInternal
Alert Message
The LocalizedText table in OpsMgr Operational Database is too large

The LocalizedText table in OpsMgr Operational Database is too large.
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="OpsMgr.2012.Self.Maintenance.Ops.DB.LocalizedText.Table.Health.Monitor" Accessibility="Internal" Enabled="false" Target="SC!Microsoft.SystemCenter.AllManagementServersPool" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="OpsMgr.2012.Self.Maintenance.Ops.DB.LocalizedText.Table.Health.Monitor.Type" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="OpsMgr.2012.Self.Maintenance.Ops.DB.LocalizedText.Table.Health.Monitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ErrMsg']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Unhealthy" MonitorTypeStateID="Unhealthy" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalHours>24</IntervalHours>
<SyncTime>22:30</SyncTime>
<SQLQueryTimeout>300</SQLQueryTimeout>
<RowCountThreshold>1000000</RowCountThreshold>
<TimeoutSeconds>600</TimeoutSeconds>
</Configuration>
</UnitMonitor>