Huntland Services Ltd

Tel: +44 (0)1392-490518
Fax: +44 (0)1392-428003
Enquiries@huntland.co.uk

MOM Database Has Insufficient Allocated Space

 

Back

Download This Article

 

MOM creates the OnePoint database at installation time using the sizes for Data and Transaction log supplied by the user.  The 'Automatically Grow' feature is deliberately switched off.  This is unusual for a database implementation because it means the MOM administrator will need to be aware of how much of the allocated space MOM has used.  Given that the database size requirement will inevitably increase over a period of time, especially if auditing is switched on, MOM is always heading towards a conflict with its allocated space.

To resolve this problem MOM administrators must occasionally increase the data and log sizes.   This is done as follows:

1.      In Microsoft SQL 2000 Enterprise Manager, under Microsoft SQL Server , expand SQL Server Group .

2.      Click the name of the server, and then expand Databases .

3.      Right-click the OnePoint database, click Properties , and then click the Data Files tab.

4.      Enter the new database size under Space Allocated .

5.      Click the Transaction Log tab and make sure the log size is approximately 20% of the Data size.

See the following KB Articles:

Q304678  MOM OnePoint Database Size Never Large Enough When Auditing Is Turned On 
Q300119
How to Add Space to the Microsoft Operations Manager (MOM) database
Q297778
OnePoint Database Should Not Be Configured for Automatic File Growth

 

Monitoring the Database space used and space available

The Database Transaction log size and percentage used are values tracked by the Performance Monitor object  'SQL Server: Databases'.  A MOM administrator could use this in a performance processing rule.

The database space usage can be monitored using the stored procedure sp_spaceUsed as in the following T-sql:

Use OnePoint
Go
Exec sp_spaceUsed

However MOM automatically monitors the OnePoint database size using the 'Operations Manager Free Data Space Monitor' event rule which is contained inside the database rule group inside the default MOM base management pack which is always installed.  This watches for event 17052 in the Application log of the SQL Server.  Although it doesn't raise an alert it does use a script to extract the FreeSpace value from the body of the event message and then programmatically builds a MOM performance data object.  The performance data object can be viewed under the Monitor\All Performance node for the machine running SQL Server.  However a MOM administrator doesn't have to watch this object because the database rule group also contains two performance processing rules.  These monitor the performance data object values returned by the above script and raise alerts respectively if the FreeSpace is less than 30% and 20%.

This is a very complicated way of achieving a simple goal.  Let the administrator know when Database space is becoming limited.  With the advent of Microsoft's SQL Server Administration provider, it is much easier to do.  I imagine the hard route was taken because of having to port NetIQ's solution from Operations Manager before SQL Admin WMI was available.

However, if you want to monitor database space using WMI complete the following tasks:

1.      Install the SQL Server WMI provider by running setup.exe from the CD\X86\OTHER\WMI folder.

2.      Create a new Data provider using a WMI Numeric Events data source with the following entries:
Provider Name:                              my OnePoint FreeSpace
WMI Namespace to be searched:   root\MicrosoftSQLServer
Class of Objects to be Measured:  MSSQL_Database
Object Instance Expression:          Name = 'OnePoint'
Numeric Property to Sample:        SpaceAvailable
Text Property to be Instance:        Name
Sample Every:                               15 minutes

3.      Create a Performance Processing Rule.  This can either be for measuring the FreeSpace value and using this to draw graphs via the monitor\all performance node, or a threshold comparison type.  The latter can be set to fire an alert if the amount of space (in kilobytes) is less than x.