So you’ve decided to take the jump and upgrade to System Center Operations Manager 2016? Assuming you are running a SCOM 2012R2 (UR11) environment, this post will be exactly what you need to have a successful SCOM 2012 R2 to SCOM 2016 upgrade. **Although the recommended path is to upgrade from UR9**
In my environment, here is the quick breakdown:
- SCOM 2012 R2 environment has two Management Servers.
- Handful of clients (Windows 2012R2) being monitored.
- Both Management Servers live on a Windows 2012 R2 operating system.
- Both Management Servers are running with UR 11 (Update Rollup) **Microsoft recommends upgrading the environment at latest version number minus one (latest – 1), so in this case, UR9 (UR10 was never issued for SCOM 2012R2)**.
- The SQL environment is a SQL Server 2014 SP2 also running on Windows 2012 R2.
- The Operations and Data Warehouse live on dedicated SQL instances, however reside on the same server.
Pre-Upgrade Tasks
Let’s get started!
First, we need to do some “Pre-Upgrade” Tasks. Follow these in order.
- Back up the Operations Manager Databases
- Review the Operations Manager Event Logs
- Cleanup the Database (ETL Table)
- Remove Agents from Pending Management
- Disable the Notification Subscriptions
- Stop the Services or Disable any Connectors
- Verify that the Operational Database Has More Than 50 Percent Free Space
- Back up the Operations Manager Databases
To Cleanup the ETL Tables, you will need to run the following script:
- The following script will determine the number of rows that will (need) be deleted:
DECLARE @SubscriptionWatermark bigint = 0;
SELECT @SubscriptionWatermark = dbo.fn_GetEntityChangeLogGroomingWatermark();
Select COUNT (*)
FROM EntityTransactionLog ETL with(nolock)
WHERE NOT EXISTS (SELECT 1 FROM EntityChangeLog ECL with(nolock) WHERE ECL.EntityTransactionLogId = ETL.EntityTransactionLogId)
AND NOT EXISTS (SELECT 1 FROM RelatedEntityChangeLog RECL with(nolock) WHERE RECL.EntityTransactionLogId = ETL.EntityTransactionLogId)
AND EntityTransactionLogId < @SubscriptionWatermark;
- Now we can go ahead and clean up the ETL table running the script below:
DECLARE @RowCount int = 1;
DECLARE @BatchSize int = 100000;
DECLARE @SubscriptionWatermark bigint = 0;
DECLARE @LastErr int;
SELECT @SubscriptionWatermark = dbo.fn_GetEntityChangeLogGroomingWatermark();
WHILE(@RowCount > 0)
BEGIN
DELETE TOP (@BatchSize) ETL
FROM EntityTransactionLog ETL
WHERE NOT EXISTS (SELECT 1 FROM EntityChangeLog ECL WHERE ECL.EntityTransactionLogId = ETL.EntityTransactionLogId)
AND NOT EXISTS (SELECT 1 FROM RelatedEntityChangeLog RECL WHERE RECL.EntityTransactionLogId = ETL.EntityTransactionLogId)
AND ETL.EntityTransactionLogId < @SubscriptionWatermark;
SELECT @LastErr = @@ERROR, @RowCount = @@ROWCOUNT;
END
Great! Let this run, which may take a few minutes, or hours depending on your environment..
Now we are ready to get started with the upgrade. (Don’t get to backup your databases (Report Server, Operations, Data Warehouse!!)
Upgrading to SCOM 2016
After you have downloaded the RTM image file, as you may have noticed, it is not an ISO file. So let’s extract the file contents locally…
Before moving on with the install, I stopped the following SCOM services on all of the Management Servers:
- Microsoft Monitoring Agent (healthservice)
- System Center Data Access Service (OMSDK)
- System Center Management Configuration (cshost)
Now we can run the installer (Run As Administrator or, SCOM Data Access/SDK account)
Sweet! Although this was expected, since no new changes were required for Windows Server 2012 R2.
I cannot stress how useful it is to use dedicated service accounts. Here input your Data Access/SDK account.
Once quick review before we begin the Upgrade..
Let this run… For me, the upgrade took around 50 minutes for the first Management Server..
Sweet! All good. Remember to install the license key before the 120 days are up.
Let’s launch the console just to make sure we are in all working order.
Great! Now we will need to repeat the process for the second/other Management servers…
Once complete, let’s upgrade our client agents to SCOM 2016 (v 8.0.10918.0)
At this time we can make use of the SCOM 2016 features, and update our out-dated Management Packs. Remember this feature really only works for Microsoft based Management Packs, ie. SQL, Windows Server, Client OS, etc.
I hope this helped! For additional information, and or upgrading other items such as Gateways, ACS (Audit Collection Services), etc. Please visit Microsoft’s guides HERE.
Lastly, it is highly recommended to upgrade to SCOM 2016 Update Rollup 1 (UR1). For that guide, please visit this LINK.
Happy SCOM’ing 2016!
- Upgrading a Single-Server Management Group: https://technet.microsoft.com/en-us/library/dn249724%28v=sc.12%29.aspx?f=255&MSPPError=-2147217396
- Upgrading ACS Collector: https://technet.microsoft.com/en-us/library/dn249711%28v=sc.12%29.aspx?f=255&MSPPError=-2147217396
- Upgrading Gateway Server(s): https://technet.microsoft.com/en-us/library/dn249698(v=sc.12).aspx
Hi,
thank you for sharing this guide.
Is it possible to upgrade the OS from Server 2012r2 to 2016? I want to make a fresh clean installation of the Server is there any way? I don’t like inplace upgrades.
LikeLike
Hi, do you mean do an upgrade by running the 2016 media on the 2012R2 server? I would not recommend this path — always do a clean install. As per this guide, it was to only illustrate upgrading SCOM 2012R2 to SCOM 2016. You could very well have SCOM 2012R2 on a Windows Server 2016 and run the upgrade in the same manner as well.
LikeLike
Hi,
no I want to have a clean install of Windows Server 2016. I have currently a Windows Server 2012r2 with scom 2016(upgraded today from 2012r2) installed. To have the OS updated to server 2016, what I need to do? Just reinstall windows server 2016 and give the machine the same name and install scom 2016 and connect to the database? I don’t want to create a new site.
LikeLike
If I understand correctly, you want to raise another Management Server on a 2016 OS? What you need to/can now do (without understanding the full complexity of your environment) install SCOM on the new machine. Install the server role. When installing, you can connect to the current/existing Management Group. Once that server is online, you can then de-comm the 2012R2 server. This is assuming you have no web console installed. You will also need to transfer the eRMS role to the new server. You will also need to update all reporting agents to the new management server. Once you have confirmed there are no dependencies on the 2012R2 server, you can then de-comm the server. Again, this is a very general answer as I am very unaware of your environment. Hope that helps.
LikeLike
HI Ravi,
no, I have one SCOM Managment Server running SCOM 2016 on Windows Server 2012R2. I want to upgrade Windows Server 2012R2 to Windows Server 2016. How can I do this with a fresh clean installation of the Server?
LikeLike
hello, are you deploying a new dedicated Windows 2016 server, or upgrading the OS from 2012R2 to 2016?
LikeLike
My preferred way would be to deploy a brand new server instead of upgrading the OS by insert the ws2016 media, an just following the upgrade wizard. I would like to have a new fresh installation, but the machine needs to be the same. What would be the best practice to realize this?
I have created a snapshot of the current running scom server which has ws 2012r2 installed, and after that I have made a fresh installation of ws2016. I tried to install scom 2016 and in the wizard I selected, “add server to existing management group” when I want to select the right database, Ithe drop down is empty. In the log file I saw the message, that the server is all ready member of the management group. I cant process this way
So what I need to do?
Thank you very much
LikeLike
Hi, if you go into any of the management servers, and take a look within the administration pane, and management servers — does your new 2016 server exist there?
LikeLike
Hi Ravi,
this is my current setup:
1 SCOM 2016 Server on Windows Server 2012 R2
1 SQL Database Server
My Goal:
1 SCOM 2016 Server on Windows Server 2016
1 SQL Database Server
How can I do this?
Thank you
LikeLike
there are a lot of steps here, i highly recommend reaching out to a scom consultant (please find me on linkedin)…. but in short: create a new server with windows 2016. install SCOM and all the roles necessary. migrate all the agents to the new mgmt server. ensure all management packs, connectors, etc., are working via new server. once satisfied, decommission/gracefully remove old mgmt server.
LikeLike
I need to use the same server with exactly the same computer account name. Otherwise, with your suggestion it would be easy to go through.
But thank you very much for your time
LikeLike
It should be made clear that most folks (even in a TEST infra) have a true distributed environment whereas SQL is at least 2 instances and reporting & web console sit separate. So, that means that you also have to launch this setup (separately) on those servers after your MS upgrades…just like the step by step UR procedures from Holman. Also worthy to note that you should do VM snapshots with SQL offline and also snapshots of the MS servers after bringing SQL back up.
LikeLike
Reblogged this on Cloud & Virtualization Complete Guide.
LikeLike
Hi All,
I am planning to move all my monitoring from SCOM 2012 To VROPS. any reference documents\plan or inputs would be very appreciated from someone.
LikeLike
Hi Ashish,
Unfortunately I am not experienced in this migration path. I would suggest reaching out to VMware, or a VMware friendly blogging community. Best of luck.
LikeLike
Hi ,
I have upgraded my environment from 2012 R2 (UR12) to 2016.
Then applied 2016 UR3.
Am getting the following error in All my MS and no new agents are turning healthy.
Log Name: Operations Manager
Source: OpsMgr Management Configuration
Date: 12/22/2017 11:44:44 PM
Event ID: 29181
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: xxxx.xx.com
Description:
OpsMgr Management Configuration Service failed to execute ‘AgentAssignment’ engine work item due to the following exception
Microsoft.EnterpriseManagement.Common.DataItemDoesNotExistException: 3708ed2d-b303-0984-1844-0dc45ac78780
at Microsoft.EnterpriseManagement.DataAccessLayer.EntityKeyValuePairCache.GetManagedEntityKeyValuePairs(Guid baseManagedEntityId, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.DataAccessLayer.EntityKeyValuePairCache.GetKeyValuePairs(Guid baseManagedEntityId, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.ManagementConfiguration.CmdbOperations.RelationshipDiscoveriesContainer.AddRelationshipInstance(Guid sourceEntityId, Guid sourceEntityTypeId, Guid targetEntityId, Guid targetEntityTypeId, IDictionary`2 properties)
at Microsoft.EnterpriseManagement.ManagementConfiguration.CmdbOperations.RelationshipDiscoveriesContainer.AddRelationshipInstance(Guid sourceEntityId, Guid sourceEntityTypeId, Guid targetEntityId, Guid targetEntityTypeId)
at Microsoft.EnterpriseManagement.ManagementConfiguration.Engine.AgentAssignmentWorkItem.SendDiscoveries(IEnumerable`1 diffActionsList, IRelationshipDiscoveriesContainer toAddDiscoveriesContainer, IRelationshipDiscoveriesContainer toDeleteDiscoveriesContainer)
at Microsoft.EnterpriseManagement.ManagementConfiguration.Engine.AgentAssignmentWorkItem.ExecuteSharedWorkItem()
at Microsoft.EnterpriseManagement.ManagementConfiguration.Interop.SharedWorkItem.ExecuteWorkItem()
at Microsoft.EnterpriseManagement.ManagementConfiguration.Interop.ConfigServiceEngineWorkItem.Execute()
Checked that
DB Connections are fine
No date differences btw Agent and MS
Configservice.config in All MS servers are fine.
Will it be due to deleting an agent directly from DB(Not through Console) before the upgrade?
Any other thoughts?
LikeLike
Hi Dinesh, there could be a few issues here. But I would highly recommend opening a ticket with Microsoft directly. It is always advised to delete the agent(s) from the SCOM console and not from SQL directly. How is the health of the Management Servers? Are any of them healthy?
LikeLike
Hi Ravi ,
It was due to deleting an agent from DB directly before upgrade.
Issue got fixed after three days , once the agent completely got removed from DB.
LikeLike
Hi
I’m just wondering if the monitored servers were still reporting their health and alerts before they were updated. I.E. can you monitor 2012R2 agents with 2016 management servers?
Thanks
LikeLike
Hi, yes, you can continue to monitor with a 2016 environment and 2012R2 agents. However, it is recommended to upgrade the agents to match the management server version build.
LikeLike
Hi Ravi
Would the 2012 R2 agents still be in a monitored state by your 2016 management servers until they are updated?
Thanks
LikeLike
Hi, yes, you can continue to monitor with a 2016 environment and 2012R2 agents. However, it is recommended to upgrade the agents to match the management server version build.
LikeLike
Good day Ravi,
thanks for this great post,
we are about to upgrade our SCOM from 2012R2 to 2016, currently i am running SCOM2012R2 UR14, i have two management servers and one dedicated SQL running on SQL Server 2012, my question is
1-above instructions are for In-Place Upgrade
2-when you said check “review OM event logs” what exactly are we looking under event logs, is there any specific logs that we need to look and rectify the issue before the upgrade.
Kindly reply.
Shaikh Hussain.
LikeLike
Hi Shaikh,
Awesome! You are most welcome. Yes, this was for an in-place upgrade. second, rather than provide a list of event ID’s, I would suggest looking at the following post, as Microsoft has a good article on this…
https://blogs.technet.microsoft.com/manageabilityguys/2013/01/28/opsmgr-2012-event-ids-spreadsheet/
LikeLiked by 1 person
Thank you so much Ravi for quick reply. much appreciated.
LikeLike
sorry , i forget to ask you one more question ,
does SCOM 2016 upgrade require to upgrade my sql server as well because currently i am running SQL Server 2012.
LikeLike
Of the top of my head, I believe the minimum version supported for SCOM 2016 is SQL 2012 SP2, but I could be wrong and it could be only 2014 and newer. I was unable to find any documentation from Microsoft, as all the URLs return a 404 error. I will reach out to the MS team and find out.
LikeLike
Best I can find for System Center (both SCCM and SCVMM) is SQL 2012 and newer, so you should be okay. https://docs.microsoft.com/en-us/system-center/vmm/system-requirements?view=sc-vmm-2016 I have reached out to the Product Team to have their documentation available and up to date. 🙂
LikeLiked by 1 person