Few weeks ago i started reading about System Center Operations Manager 2012 as i was preparing myself to upgrade my existing SCOM 2007 R2 Server to the latest release, i have already written an article series on this, you can find it here Installing Microsoft System Center Operations Manager “SCOM” 2012. Step by Step guide- Part 1- Introduction. Today i talk to you about my experience with the upgrade of SCOM 2007 R2 to SCOM 2012 R2.
Different scenarios for the upgrade is discussed in detail on Microsoft’s Technet site “Upgrading from System Center Operations Manager 2007 R2” depending on wither you currently have a Single Server or a distributed deployment. i strongly suggest you to go through this Mcirosoft’s article as it provides a nice Check list you need to have while going through your upgrade.
Please note that the latest release from SCOM 2012 is the R2 version, yet to upgrade your SCOM 2007 R2 you need to upgrade first to SCOM 2012 RTM, go through Sp1 up to R2. Why and how, i have already explained in the SCOM 2012 R2 Implementation article series.
Launching the SCOM 2012 Setup wizard on any SCOM server would automatically detect the features installed on this server and will list all the required prerequisites for the upgrade.
So.. it looks pretty straight forward isn’t it ? you launch the setup wizard, it detects the features, lists all missing prerequisites and performs the upgrade. Well .. let’s try ..
I am upgrading a single server that hosts all features while the Operations Manager and Data Warehouse databases are hosted on a separate SQL server, i finished all my prerequisites and started the upgrade.
Couple of minutes passed and i got this 😦 “Operational database configuration failed to upgrade”
I checked my states after the failure and i find that SCOM 2007 R2 is uninstalled from my server. Thank god i had Snapshots of my virtual machines and backups of my SQL Databases. please please please make sure to do this before you start the upgrade.
Backup the OperationsManager and OperationsManagerDW databases and take snapshots if your servers are virtual.
So before we move on with the reason of this error i advise you to go through Mihai Sarbulescu’s Blog post regarding Know issues when upgrading from OM 2007 R2 to OM 2012, this is a very nice post with issues you might face according to your current deployment and solutions to them.
So now back to my error, i opened the Setup log file located under C:\Users\username\AppData\Local\SCOM\Logs\
When Reading my log files i find it really helpful to use SCCM’s trace Log tool, you can get the latest version from the SCCM 2012 media. it is a very nice tool that high lights the errors and warnings in your log file which comes very handy in reading large Log files as it makes it faster and easier for you to locate the error.
In my case that was the error “Error::PopulateUserRoles: failed : Threw Exception.Type: System.Runtime.InteropServices.COMException, Exception Error Code: 0x80070539, Exception.Message: The security ID structure is invalid. (Exception from HRESULT: 0x80070539)”
This is the main error followed by some others..
Going through Mihai Sarbulescu’s post i found the cause for this listed in his post, it clearly states that: Upgrade fails due to the fact that the db_owner user of the OM database is a SQL user and NOT a Domain Account.
Okay that was my case my SQL Server used a Mixed authentication method so i changed it to Windows authentication, i made sure the Installation user is a db_owner for the Operations Manager database and i removed every other user that was listed as a DB owner.
This would probably solve your problem if that was only the case , but in mine that didn’t, the same error repeated it self over and over , i tried everything , i even built a new SQL Server and moved the Operations and Data Warehouse to it, and still nothing same error.
I then started to take a Closer look at my database properties, and after some search on google, i found some information regarding The security ID structure is invalid error.
Apparently it is not enough that the user you are using for the upgrade has a db_owner role for the Operations Manager database, it has to be clearly stated in the database properties that name of this user as the Database Owner.
In my case it was another user. so i used the sp_changedbowner ‘Username’ command to change the current Owner of the Operations Manager database to the user i am upgrading with.
I made sure to remove any other SQL or Domain users from the Database.
Fired the upgrade, and Yessss….. that did it . the upgrade went smoothly no more issues 🙂
I really hope this helps anyone who pumped into this error. Good Luck everyone.