SCOM 2019 Step-By-Step: Upgrading
Applies to
This guide applies to System Center Operations Manager 2016, 1801, 1807
Introduction
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 over here.
In this Wiki article, we will be performing an in-place upgrade from SCOM 2016 with Update Rollup 6 to SCOM 2019.
SCOM 2019 upgrade paths
The diagram below shows the currently supported upgrade paths for SCOM 2019.
Direct in-place upgrade to SCOM 2019
Indirect upgrade to SCOM 2019
Requirements
For the system requirements for System Center Operations Manager 2019, please refer to the Microsoft documentation link below:
https://docs.microsoft.com/en-us/system-center/scom/system-requirements?view=sc-om-2019
Pre-upgrade tasks
Before upgrading there are a few 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
- Review the Operations Manager event logs.
- Clean up the Database (ETL Table).
- Configure agents to failover between multiple gateway servers so all agents reporting to a gateway have a failover gateway assigned.
- Remove Agents from Pending Management.
- Disable Notification Subscriptions.
- Disable any connectors.
- 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.
- Verify that the Operational Database Has More Than 50 Percent Free Space.
- Back up the Operations Manager Databases.
- Update the agent’s health service cache size temporarily to prevent loss of data while Management and Gateway servers are upgraded.
- 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 cleanup ETL SQL query below:
-- (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
The source for the cleanup query can be found from the Microsoft documentation here.
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 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 or a PowerShell on a SCOM management server.
3.2 Run the PowerShell script 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 for the script can be found from the Microsoft documentation here.
4. Open the Operations Console, go 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 products, 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 above mentioned 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 the Operational Database 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, make sure to add more space for the database.
Backup
9. Now we’ll perform a backup of the Operational Database and the **Operations Manager Data Warehouse **database, 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 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, start previous backup procedure again for the DW database.
10. Next up we'll increase the agent HealthService cache size on the agent computers temporarily for during the upgrade.
Go to **Start **and search for "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>
10.2 Modify the **maximumQueueSizeKb **registry key to the following value: **76800 **(75MB) or more, the default value should be **15360 **(15MB).
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.
Stop application pools
11. The final preparation task is to stop the OperationsManager 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. 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 (they should as they are the same for SCOM 2016, 1801 & 1807) 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
- Re-enable the Notification Subscriptions.
- Restart or re-enable the Connector Services (if needed).
- Re-enable Audit Collection Services (ACS) on agents that were upgraded (if needed).
- Reset agent HealthService Cache size.
- Start the application pools of Operation Manager and MonitoringView in the IIS.
- 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 back **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 Healthdashboard 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 new SCOM environment 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 above 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. We will now 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! ;-)