Monday, February 9, 2015

Installing SCOM 2012 R2 & Using Default SQL Server Instance? Avoid The Dreaded EventID 29112

Issue
When installing a brand new SCOM 2012 R2 Management Group one has to enter information about the SQL Server Instances as well. When these are default SQL Server Instances (so NO named SQL Server Instances) PLEASE DON’T ENTER it in the format server name\instance name, e.g. DB01\MSSQLSERVER:
image

Because when you do, changes are the Config service can’t connect to that SQL Server Instance, resulting in a SCOM MG NEVER getting any configuration.

Instead the Operations Manager event log will log Event ID 29112, source OpsMgr Management Configuration with these details: OpsMgr Management Configuration Service failed to execute bootstrap work item 'ConfigurationStoreInitializeWorkItem' due to the following exception:

Example:
image

Cause
I haven’t seen this happening many times, but somehow the installer accepts this kind of information, even validates it and installs SCOM. So far so good. But when the installation is done and SCOM is started for the first time, the System Center Management Configuration stumbles and fails to connect to the SQL Server Instance because it’s a default SQL Server Instance where the only the server name should suffice.

The Fix
This is relatively simple, when you KNOW where to look. When you don’t it will take ages (when you’re lucky Smile to fix it…). There are two places requiring a fix:

  1. The registry (duh);
  2. And not so obvious: the config file ~:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server\ConfigService.config

Solution, step 01: The registry
Open the registry editor and check these TWO entries and fix them so they only have the server name as entry:

  1. HKLM\Software\Microsoft\Microsoft Operations Manager\3.0\Setup
    Key: DatabaseServerName
  2. HKLM\Software\Microsoft\System Center\2010\Common\Database
    Key: DatabaseServerName

Now it’s time for step 02, the config file

Solution, step 02: Fixing the file ConfigService.config
Go to the folder ~:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server copythe file ConfigService.config (so there is a way back!) and open the original file with Visual Studio or Notepad++.


DON’T USE A REGULAR TEXT EDITOR LIKE NOTEPAD SINCE YOU’LL MISS OUT ON SYNTAX HIGHLIGHTING MAKING IT EASIER TO MAKE MISTAKES…

Go to the section  <Category Name="ConfigStore"> and look for the entry ServerName:
image

Modify the entry ServerName so it only contains the Server Name:
image

Save the changes and restart the Config service. And soon SCOM will get it’s configuration, Event ID 29113, OpsMgr Management Configuration Service successfully completed bootstrap procedure:
image

And now SCOM will get it’s configuration and work as intended.

Recap
Whenever installing SCOM 2012 using a DEFAULT SQL Server Instance, just enter the name of the server hosting the operational database, NOT THE NAME OF THE SQL SERVER INSTANCE as well. So this is what it should look like:
image

Repeat this step for every other SCOM 2012 Management Server you add to this MG as well and you’ll be fine.

No comments: