Registry tweaks for SCOM measure twice cut once
Hi all,
Wanted to call out something that happened recently with a customer.
When modifying registry ensure that you double or triple check any changes made: Registry Tweaks (note Kevin's useful and handy reg add commands - that helps prevent below issue from occurring in first place).
A customer had inadvertently added the dalinitiateclearpool new qword (instead of dword) and then the sdk service would not stay running.
Here are the errors you may see on your management server with incorrect keys created.
26399 and 29380
Scroll down and note in the 29380 event log description we see "DataAccessRegistry.ReadInitiateClearPool" tipping us off on the issue. Simply delete the qword value and create new dword value and then the sdk service runs as designed.
Log Name: Operations Manager
Source: OpsMgr SDK Service
Date: 2/5/2013 1:06:23 PM
Event ID: 26339
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Description:
An exception was thrown while initializing the service container.
Exception message: Initialize
Full exception: Feature of type
From <https://vkbexternal.partners.extranet.microsoft.com/vkbwebservice/viewcontent.aspx?portalId=1&filePath=file%3A%2F%2Fcy1mssvkblfs01.partners.extranet.microsoft.com%2Fmsscatalog%2F2013%2F02%2F04%2Fcb827dfe-fe6e-e211-987e-002dd802026b.xml&contentType=MSS&displayTermHighlighting=true&promoteToEnglish=true&displayXMLForm=false&searchTerms=%3CSearchTerms%3E%3CTerm%20Text%3D%2226380%22%20%2F%3E%3CTerm%20Text%3D%22scom%22%20%2F%3E%3CTerm%20Text%3D%22ConfigurationReaderException%22%20%2F%3E%3C%2FSearchTerms%3E&displayActions=true&webPreview=true&source=4096&componentId=2&sequence=18&sessionId=1424104402151>
Log Name: Operations Manager
Source: OpsMgr SDK Service
Date: 2/13/2017 14:25:27
Event ID: 26380
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Description:
The System Center Data Access service failed due to an unhandled exception.
The service will attempt to restart.
Exception:
Microsoft.EnterpriseManagement.ConfigurationReaderException: The feature named 'OperationsManager' and of type 'Microsoft.EnterpriseManagement.ServiceDataLayer.IDataAccessFeature, Microsoft.EnterpriseManagement.DataAccessService.Core, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' cannot be added to the container. ---> Microsoft.EnterpriseManagement.ComponentActivationException: The constructor for the component threw an exception. Please see the inner exception for more details. ---> System.TypeInitializationException: The type initializer for 'Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults' threw an exception. ---> System.InvalidCastException: Specified cast is not valid.
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.ReadInitiateClearPool(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults.Initialize(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults..cctor()
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.InitializeStateMap()
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry..cctor()
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.StateMap(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.RetryPolicy..ctor()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DataAccessFeatureImplementation..ctor()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DataAccessFeatureImplementation..ctor(EnterpriseManagementObjectViewName objectView)
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.ComponentActivator.Activate[T](ActivationContext`1 context)
at Microsoft.EnterpriseManagement.SingletonLifetimeManager`1.GetComponent[K]()
at Microsoft.EnterpriseManagement.FeatureContainer.GetFeatureInternal[T](Type type, String featureName)
at Microsoft.EnterpriseManagement.FeatureContainer.AddFeatureInternal[T,V](ActivationContext`1 context, String featureName)
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.ConfigurationReaderHelper.ReadFeatures(XPathNavigator navi, IContainer container)
at Microsoft.EnterpriseManagement.ConfigurationReaderHelper.Process()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DispatcherService.Initialize(InProcEnterpriseManagementConnectionSettings configuration)
at Microsoft.EnterpriseManagement.ServiceDataLayer.DispatcherService.InitializeRunner(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart(Object obj)
Event Xml:
<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="OpsMgr SDK Service" />
<EventID Qualifiers="49152">26380</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-02-13T19:25:27.000000000Z" />
<EventRecordID>4783657</EventRecordID>
<Channel>Operations Manager</Channel>
<Computer>MyComputer.failure.com</Computer>
<Security />
</System>
<EventData>
<Data>Microsoft.EnterpriseManagement.ConfigurationReaderException: The feature named 'OperationsManager' and of type 'Microsoft.EnterpriseManagement.ServiceDataLayer.IDataAccessFeature, Microsoft.EnterpriseManagement.DataAccessService.Core, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' cannot be added to the container. ---> Microsoft.EnterpriseManagement.ComponentActivationException: The constructor for the component threw an exception. Please see the inner exception for more details. ---> System.TypeInitializationException: The type initializer for 'Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults' threw an exception. ---> System.InvalidCastException: Specified cast is not valid.
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.ReadInitiateClearPool(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults.Initialize(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.GlobalDefaults..cctor()
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.InitializeStateMap()
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry..cctor()
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.DataAccessLayer.DataAccessRegistry.StateMap(String product)
at Microsoft.EnterpriseManagement.DataAccessLayer.RetryPolicy..ctor()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DataAccessFeatureImplementation..ctor()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DataAccessFeatureImplementation..ctor(EnterpriseManagementObjectViewName objectView)
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.ComponentActivator.Activate[T](ActivationContext`1 context)
at Microsoft.EnterpriseManagement.SingletonLifetimeManager`1.GetComponent[K]()
at Microsoft.EnterpriseManagement.FeatureContainer.GetFeatureInternal[T](Type type, String featureName)
at Microsoft.EnterpriseManagement.FeatureContainer.AddFeatureInternal[T,V](ActivationContext`1 context, String featureName)
--- End of inner exception stack trace ---
at Microsoft.EnterpriseManagement.ConfigurationReaderHelper.ReadFeatures(XPathNavigator navi, IContainer container)
at Microsoft.EnterpriseManagement.ConfigurationReaderHelper.Process()
at Microsoft.EnterpriseManagement.ServiceDataLayer.DispatcherService.Initialize(InProcEnterpriseManagementConnectionSettings configuration)
at Microsoft.EnterpriseManagement.ServiceDataLayer.DispatcherService.InitializeRunner(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart(Object obj)</Data>
</EventData>
</Event>