System Center operations Manager logo http://www.Oostdam.infoSystem Center Operations Manager 2007 R2 is a great product. It has some difficulties, but doesn't have all products have a problem here and there? Now this article has been made here, for several reasons. First of all, I collected all these errors, installs, hits, tips and warnings for my own personal reference. But, it is always better to share knowledge, so I decided to publish these articles, with a little extra explanation on this site, through these articles. So, I hope this article will help you with your problem as well. Now, this article is about a cache error which occur from time to time. It is very easy to solve, but an interesting event error 31552 can occur on the side, which could set you in the wrong direction Read the article below for more detailed information.

How to resolve the SCOM cache error with Event 31552 on the side:

Every SCOM administrator can run into this error. It has a message text like:
Operation Managers cache picture article 279 picture01Operations Manager has reached the storage limit for its cache. Please close Operations Console as soon as possible. The cache will be cleared automatically the next time the Operations Console is started. Maximum database size reached(-1012). Now you could sole this the hard way, increasing your cache settings etc, but indeed, just restarting the Operations Manager Console will do the trick. You can see the error in the picture here.  Clicking the "show" button will give you additional information like in the text here below.

Application: System Center Operations Manager 2007 R2
Application Version: 6.1.7221.0
Severity: Error
Message: Operations Manager has reached the storage limit for its cache. Please close the Operations Console as soon as possible. The cache will be cleared automatically the next time the Operations Console is started.
Microsoft.Mom.Isam.IsamOutOfDatabaseSpaceException: Maximum database size reached (-1012)
   at Microsoft.Mom.Isam.?A0x5359b89f.HandleError(Int32 err)
   at Microsoft.Mom.Isam.EseInterop.JetSetColumn(JET_TABLEID& tableid, JET_COLUMNID columnid, Byte[] data, JET_GRBIT grbit, JET_SETINFO setinfo)
   at Microsoft.Mom.Isam.ColumnAccessor.SetColumn(JET_COLUMNID columnid, Int32 index, Object obj)
   at Microsoft.Mom.Isam.ColumnAccessor.SetColumn(String columnName, Int32 index, Object obj)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.EseRow.UpdateRecord(EseCursor cur)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.EseRow.InsertUpdateRecord(Boolean insert)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.EseRow.EditRecord(Boolean insert)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.IndexTable.Update(QueryBase query, Guid id, Object o)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.SaveObject(T obj, IndexTable indexTable, Boolean update, DateTime maxTimeStamp)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.SaveQueryResult(ICollection`1 queryResult, ICollection`1 deletedItems, IndexTable indexTable, Boolean update, Int32 itemsToSave, DateTime& maxTimeStamp)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.SaveUpdateResult(ICollection`1 queryResult, IndexTable indexTable, DateTime& maxTimeStamp, DateTime queryTime, Boolean update, Int32 itemsToSave)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.InternalSyncQuery(CacheSession session, IndexTable indexTable, UpdateReason reason, UpdateType updateType)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.InternalQuery(CacheSession session, UpdateReason reason)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.TryDoQuery(UpdateReason reason, CacheSession session)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Cache.Query`1.DoQueryJob(Object sender, ConsoleJobEventArgs args)
   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler`1 job, Object sender,
ConsoleJobEventArgs args)

So,... do not worry about it and restart the console. The cache is cleared on startup and solves the cache issue. Another reason not to stay logged on always, but log off your session when your down, like real administrators do.

Checking out the Eventlog, I was surpised finding to errors in it. It appears to be a couple of event ID's 31552. Now normally this event is related to moving databases, store problems and security problems. Google and Kevin Holman's Blog about resolving that KMS issue. This is something else. The messages generated by the cache problem has as side effect, that transport of data into your datawarehouse fails. The description in the event 31552 then will be something like: Failed to store data in the Data Warehouse. Exception 'SqlException': Sql execution failed. Error 468, Level 16, State 9, Procedure TenantMappingProcessStaging, Line 365, Message: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation, or in my case also an extra event occurs, saying: execution failed. Error 777971002, Level 16, State 1, Procedure StandardDatasetAggregate, Line 424, Message: Sql execution failed. Error 468, Level 16, State 9, Procedure AvailabilityAggregate, Line 535, Message: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. 

About the cause: Working with the console, creating, modifying and deleting views can cause this. Every view has a little caching to perform better and a little faster. You'll hardly notice it, but it happens. On refresh of a view, the current state is checked and updated in the view and not pictures, icons, lines and relations, which comes from the cache. Changing a lot of them in a single (long) session can cause this error therefore.

Hope that this article will have helped you a bit further............ 

Have fun, using System Center Operation Manager 2007 R2 !

Ben OostdamBen Oostdam has been working with Windows systems since 1993. Worked for several companies as a system administrator, and is currently a Senior Support Engineer for Qurius Managed Services in the Netherlands specialized in System Center Solutions.

Disclaimer: The information contained in this website/article is for general information purposes only. The information is provided as is, by Ben Oostdam and others, and while we endeavour to keep the information up to date and correct, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose. Any reliance you place on such information is therefore strictly at your own risk. In no event will we be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this website. Through this website you are sometimes able to link to other websites which are not under my control. I have no control over the nature, content and availability of those sites. The inclusion of any links does not necessarily imply a recommendation or endorse the views expressed within them. Every effort is made to keep the website up and running smoothly. However, I take no responsibility for, and will not be liable for, the website being temporarily unavailable due to technical issues beyond our control. All entries in these articles, are my individual opinion, or from co-writers, and they don't necessary reflect the opinion of my employer.


Friday the 7th, May 2021. All rights reserved.. // Oostdam WebDesign