GUIDE, SCOM, System Center

Upgrading to SCOM 2019 Step-By-Step

The long-awaited System Center Operations Manager (SCOM) 2019 is finally out, it’s time to in this blog post we will go through on how to upgrade to SCOM 2019!

If you haven’t checked the new features in SCOM 2019, you can find them in my previous blog post over here.

In this blog post we will be performing an in-place upgrade from SCOM 2016 with Update Rollup 6 to SCOM 2019.

This guide applies to SCOM 2016, SCOM 1801, SCOM 1807

Contents

 

SCOM 2019 upgrade paths

The diagram below shows the currently supported upgrade paths for SCOM 2019.

 

Direct in-place upgrade to SCOM 2019

  • SCOM 2016 -> SCOM 2019  
  • SCOM 1801 -> SCOM 2019  
  • SCOM 1807 -> SCOM 2019  

Indirect upgrade to SCOM 2019:

  • SCOM 2012 R2 -> SCOM 2016 -> SCOM 2019  
  • SCOM 2012 R2 -> SCOM 1801 -> SCOM 2019  

Requirements

For the system requirements for System Center Operations Manager 2019, please refer to the Microsoft documentation on the following link:
https://docs.microsoft.com/en-us/system-center/scom/system-requirements?view=sc-om-2019

 

Pre-upgrade tasks

Before upgrading there are some tasks that need to be done, we will go through them one by one before performing the upgrade.

High-level overview of the pre-upgrade tasks

  1. Review the Operations Manager event logs.
  2. Clean up the Database (ETL Table).
  3. Configure agents to failover between multiple gateway servers so all agents reporting to a gateway have a failover gateway assigned.
  4. Remove Agents from Pending Management.
  5. Disable Notification Subscriptions.
  6. Disable any connectors.
  7. Stop the Microsoft Monitoring Agent, System Center Data Access Service, System Center Configuration Management, and Microsoft Monitoring Agent services on all management servers except the one being upgraded.
  8. Verify that the Operational Database Has More Than 50 Percent Free Space.
  9. Back up the Operations Manager Databases.
  10. Update the agent’s health service cache size temporarily to prevent loss of data while Management, and Gateway servers are upgraded.
  11. Stop the application pool of Operations Manager and MonitoringViews in IIS server.

 

Detailed overview of the pre-upgrade tasks

1. Go through the Operations Manager event log(s) on the SCOM management and gateway servers, this is mainly to check if there are any errors or warnings that might need fixing before upgrading.

2. Open the SQL Server Management Studio either remotely or locally on the SCOM database server and then connect to the SCOM 2016 SQL instance.

 2.1. Expand the Databases, find your Operational Database and then select it and right-click it and choose New Query.

 2.2. Run the following cleanup ETL SQL query (the source for the cleanup query can be found from the Microsoft documentation here):

-- (c) Copyright 2004-2006 Microsoft Corporation, All Rights Reserved --
-- Proprietary and confidential to Microsoft Corporation -- 
-- File: CatchupETLGrooming.sql --
-- Contents: A bug in the ETL grooming code could have left the customer --
-- Database with a large amount of ETL rows to groom. This script will groom --
-- The ETL entries in a loop 100K rows at a time to avoid filling up the --
-- Transaction log --
---------------------------------------------------------------------------------
DECLARE @RowCount int = 1;
DECLARE @BatchSize int = 100000;
DECLARE @SubscriptionWatermark bigint = 0; 
DECLARE @LastErr int;
-- Delete rows from the EntityTransactionLog. We delete the rows with TransactionLogId that aren't being
-- used anymore by the EntityChangeLog table and by the RelatedEntityChangeLog table.
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


Note:
The cleanup of ETL can require several hours to complete.

2.3. Wait for the ETL cleanup query to complete, once it has completed we should receive a similar output:

3. If there are agents that are located in a workgroup / DMZ environment, we need to configure the agents to to failover between multiple gateway servers so that all agents reporting to a gateway have a failover gateway assigned.

 3.1. Open the Operations Manager Shell / PowerShell on a SCOM management server.

 3.2. Run the PowerShell command below, make sure to change the SCOM management server and SCOM agent to the appropriate values.

$primaryMS = Get-SCOMManagementServer -Name "<name of primary server>"
$failoverMS = Get-SCOMManagementServer -Name "<name of 1st failover>","<name of 2nd failover>",...,"<name of nth failover>"
$agent = Get-SCOMAgent -Name "<name of agent>"

Set-SCOMParentManagementServer -Agent $agent -PrimaryServer $primaryMS
Set-SCOMParentManagementServer -Agent $agent -FailoverServer $failoverMS

(The source of the script can be found from the Microsoft documentation here.)

4. Open the Operations Console, head to the Administration pane and then head to Pending Management.

 4.1. If there are any agents in the Pending Management, right-click them and reject all of them.
This can be achieved by right-clicking the computer listed under Pending Management and then choose Reject.

 4.2. Once the Pending Management is empty, we can continue to the next task.

5. In the Operations Console, within the Administration pane, go to Subscriptions.

 5.1. Make note of all the enabled and disabled subscriptions so that you remember which subscriptions were enabled/disabled.

 5.2. Now disable all the subscriptions by right-clicking one subscription at the time and then choose Disable.

5.3. Once all subscriptions have been disabled, we can move on to the next task.

6. If SCOM has any integrations to other Microsoft or third-party software, we need to disable the connectors. This can be done by simply stopping
the connector services, refer to the documentation for each connector to determine the services used for each connector.

7. Now it’s time to stop the SCOM services below on all SCOM management servers except the one that is being upgraded.

  • Microsoft Monitoring Agent
  • System Center Data Access Service
  • System Center Configuration Management

7.1. Go to Start and search for “Services” and then hit Enter to open it.

7.2.  Find the SCOM services mentioned above, right-click on each service and choose Stop.

7.3. Once all the SCOM services have been stopped on all the SCOM management servers except the one that you are performing the upgrade on, we can continue to the next task.

8. Now we will make sure and verify that the Operational Database has more than 50% of free space available.

 8.1. Open the SQL Server Management Studio.

 8.2. Expand the Databases, then select the Operational Database, right-click it and choose Reports > Standard Reports and choose Disk Usage.

 8.3. This will create a disk usage report, we should now see how much available space we have in the report.

 8.4. If there’s less than 50% of free space available for the Operational Database, then make sure add more space for the database.

9. Now we’ll perform a backup of the Operational Database and the Operations Manager Data Warehouse, in the SQL Server Management Studio, right-click the Operational Database, select Tasks and then choose Back Up…

9.1. Make sure that the right database is selected and that the backup type is set to Full, then click on Add…

9.2. Now click on the radio button [ … ].

9.3. Now provide a name for the Operational Database backup, choose a location where to store it or go with the default location, then click OK.

9.4. Now make sure the correct database is selected, and that the backup type is set to Full, finally click OK to start the backup operation.

9.5. Once the backup has completed successfully click OK.

9.6. To backup the Operations Manager Data Warehouse database, follow the previous steps 9 – 9.5.

10. Next up we’ll increase the agent HealthService cache size on the agent computers temporarily for during the upgrade.
Go to Start and type “Regedit” and hit Enter to open the Registry Editor.

10.1. In the Registry Editor head to the following path:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlsSet\Services\HealthService\Parameters\Management Groups<ManagementGroupName>

scom2016_to_2019_23.1

10.2. Modify the maximumQueueSizeKb registry key to the following value: 76800 (75MB) or more, the default value should be 15360 (15MB).

scom2016_to_2019_23.2

Note: This has to be done on all the SCOM agent computers, you can export and import the registry settings and automate this with for example Orchestration or configuration management tools.

11. The final preparation task is to stop the OperationManager and OperationsManagerMonitoringViews application pools within the Internet Information Services (IIS) Manager.
On the SCOM management server, go to Start and search for “IIS” and hit Enter to open the Internet Information Services (IIS) Manager.

11.1. In the Internet Information Services (IIS) Manager expand the local server and then expand the Application Pools.

11.2. Right-click the OperationsManager application pool and choose Stop, do the same for the OperationsManagerMonitoringView application pool.

11.3. Once both OperationsManager and OperationsManagerMonitoringView application pools are stopped, we are finally ready with all the pre-upgrade tasks!

 

 

Upgrading to SCOM 2019

1. Mount the Operations Manager 2019 ISO image to the SCOM management server that we will perform the upgrade on.

2. Run the SCOM_2019.exe (Run as administrator) to start the extraction wizard of the SCOM 2019 installation files.

3. Click Next to continue.

4. Check the I accept the agreement and then click Next.

5. Specify a location where to extract the SCOM 2019 installation files.

6. Click Extract to start extracting the SCOM 2019 installation files.

7. Once done click Finish to exit the extraction wizard.

8. Next up, head to the location where the SCOM 2019 installation files were extracted to.

9. Now right-click the Setup.exe and choose Run as administrator.

10. Select Install to start the installation wizard of SCOM 2019.

11. Click Next to continue.

12. Check the I have read, understood, and agree with the license terms and then click Next.

13. Specify an installation location or use the default installation location, then click Next.

14. If all prerequisites have passed click Next.

Note: If you have a pending reboot it will be shown on here, it is recommended to perform the reboot before the installation.

15. Configure the account for the System Center Configuration service and System Center Data Access service or use the builtin Local System.

Note: If the management server and the operational database are on different computers, the System Center Configuration service and System Center Data Access account have to be changed to a domain account.

16. Click Upgrade to start the upgrade process.

17. Once the upgrade is complete, click Finish.

18. Let’s open up the Operations Console and check the version installed by going to Help > About.

 

Post-upgrade tasks

Now that we have successfully upgraded to SCOM 2019, we will need to perform a few post-upgrade tasks, as we disabled a few things prior to the upgrade.

High-level overview of the post-upgrade tasks

  1. Re-enable the Notification Subscriptions.
  2. Restart or re-enable the Connector Services (if needed).
  3. Re-enable Audit Collection Services (ACS) on agents that were upgraded (if needed).
  4. Reset agent HealthService Cache size.
  5. Start the application pools of Operation Manager and MonitoringView in the IIS.
  6. Verify the upgrade was successful.

 

Detailed overview of the post-upgrade tasks

1. Open the Operations Console and head to the Administration pane and select Subscriptions.

1.1. In the Subscriptions pane, right-click the subscriptions that should be enabled and select Enable to enable them.

2. If any integrations to the SCOM environment exist, we will need to start the services of the connectors.

2.1. Go to Start > search for “Services” and hit Enter to access the services.

2.2. Look for the service(s) of the connector(s), right-click the service and choose Start.

3. If you had Audit Collection Services (ACS) enabled for an agent or multiple agents prior to upgrade, it was disabled as part of the agent upgrade process. Re-enable ACS as appropriate.

4. If the agent HealthService cache size was modified in the registry we will have to change it back.

4.1. Go to Start and search for “Regedit” and hit Enter to open the Registry Editor.

4.2. Head to the following path:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlsSet\Services\HealthService\Parameters\Management Groups

4.3. Modify the value of the maximumQueueSizeKb to it’s default value: 15360 (15MB).

Note: If the maximumQueueSizeKb registry key had another default value, change it to that value.

5. Now we will start the IIS application pools of the OperationsManager and OperationsManagerMonitoringViews within the Internet Information Services (IIS) Manager.

5.1. On the SCOM management server, go to Start and search for “IIS” and hit Enter to open the Internet Information Services (IIS) Manager.

5.2. In the Internet Information Services (IIS) Manager expand the local server and then expand the Application Pools.

5.3. Right-click the OperationsManager application pool and choose Start, do the same with the OperationsManagerMonitoringView application pool.

5.4. Once both OperationsManager and OperationsManagerMonitoringView application pools are started, we can continue to the last task to check the health of our new SCOM 2019 environment!

6. Verify that the upgrade was successful by checking the health of the SCOM environment and other monitors.

6.1. Open the Operations Console, and head to the Monitoring pane, then expand the Operations Manager folder, and select the Management Group Health dashboard view.

6.2. Now check the Management Group Health in the center of the screen.

6.3. If everything looks healthy, let’s have a final look at the Operations Manager event log, if you do have errors, take action to see what the error is about.

6.4. Right-click on Start and choose Event Viewer, then expand the Applications and Services Logs and select the Operations Manager log.

Note: If any errors are found in the Operations Manager event log, analyse them and check if they need resolving.

 

Configuring the license for SCOM 2019

When we upgrade from an earlier version of SCOM, our newly upgraded SCOM will be an evaluation version, this means that we will need to set the license once again.

1.  Open the Operations Manager Shell (Run as administrator) on the SCOM management server, and type in the SCOM PowerShell command below and then hit Enter to run the command.

Set-SCOMLicense -ProductId " XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"

2. The command will ask for the SCOM management server, enter the the FQDN of the SCOM management server and then hit Enter.

3. We will now be asked for credentials, enter a username who has write access to the OperationsManager database, next we will be asked if we want to continue performing this operation, select A (Yes to All).

4. The command will run for a short while and once it’s completed we should receive the message below:

5. Now we will have to restart the System Center Data Access service on all the SCOM management servers for the license to take effect.

6. Go to Start and search for “Services” and then hit Enter to open it.


7. Look for the System Center Data Access service, select it and then right-click it and choose Restart.

8. Now open the Operations Console (close it if it was already open and re-open it), then go to Help > About, and we should now see that our SCOM 2019 is fully licensed!

We have now successfully upgraded from SCOM 2016 to SCOM 2019!

Happy SCOMming! 😉

12,374 total views, 35 views today

13 thoughts on “Upgrading to SCOM 2019 Step-By-Step”

  1. in single mode, I can’t to stop scom das service, because of fail check sql reporting service in upgrade mode, it need to check scom DAS service.

  2. If I am upgrading the SCOM management servers in a distributed environment, do I have to repeat this pre-upgrade task on each management server or just on the first management server? “7.Stop the Microsoft Monitoring Agent, System Center Data Access Service, System Center Configuration Management, and Microsoft Monitoring Agent services on all management servers except the one being upgraded.” Thanks!

    1. Hi Tom!

      If you are upgrading a distributed management group, you must upgrade certain features before others. For example, you upgrade the management servers first, followed by the gateways, operations consoles, and then agents. Next, you can upgrade any remaining features, such as the web console, reporting and Audit Collection Services (ACS). You must also perform a number of pre-upgrade and post-upgrade tasks.

      Best regards,
      Leon

      1. Hi Leon,

        Thank you for responding. Yes, I am aware of the sequence, the part that isn’t clear to me is what to do to upgrade the second management server after the initial MS upgrade is complete. Do I leave the first MS up and running then start the SCOM services on the second MS and run the setup to upgrade it and repeat these steps for the remaining MS servers? Or do I stop the SCOM services on the first MS (after the upgrade is complete) and start up the services on the second MS and upgrade it as outlined in step #7 of the pre-upgrade task list? Thanks!

      2. Hi Tom,

        You can leave the services running on the first management server, then simply perform an upgrade on the other management servers.

  3. By the looks of that Microsoft article you are suppose to edit the maximumQueue size on all the agents, where as I think you are looking at the actual Management Servers registry. That’s why its 102400, if you go to an agent its 15360 by default. I think its so the agents can queue more data while the management servers are unavailable.

  4. How about upgrading the other SCOM management servers in a distributed environment. The first one did the upgrade with success from 1807, but the other three management servers will not be upgraded. How can I force that process? By the way, that are 2016 Core servers. Setup program is not supported on a Server Core installation.

      1. (SOLVED)
        This command will do the job:

        Start-Process -FilePath “C:\Temp\SCOM2019\setup.exe” -ArgumentList ‘/Upgrade /InstallPath:”D:\Program Files\Microsoft System Center\Operations Manager” /components:OMServer /ManagementGroupName:XXXX /SqlServerInstance:XXXX /DatabaseName:OperationsManager /DWSqlServerInstance:XXXX /DWDatabaseName:OperationsManagerDW /ActionAccountUser:Domain\XXXX /ActionAccountPassword:******* /DASAccountUser:Domain\XXXXX /DASAccountPassword:****** /EnableErrorReporting:Never /SendCEIPReports:0 /UseMicrosoftUpdate:0 /AcceptEndUserLicenseAgreement:1 /silent’

    1. Hi,

      This is perfectly normal so there’s nothing to worry about! I know it might sound confusing but the 10.19.10014.0 is the RTM agent version of SCOM 2019.

      Best regards,
      Leon

Leave a Reply to John Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.