UR2 for SCOM 2012 R2 – Step by Step


Sorry I am a bit behind in publishing this post.  Smile



KB Article:   http://support.microsoft.com/kb/2929891

Download catalog site:  http://catalog.update.microsoft.com/v7/site/Search.aspx?q=2929891


Key fixes:

Issue 1 - This update rollup makes the stored procedure performance aggregate more robust against out-of-range values.
Issue 2 - Adding multiple regular expressions (RegEx) to a group definition causes an SQL exception when the group is added or run.
Issue 3 - Web applications fail when they are monitored by the System Center Operations Manager 2012 R2 APM agent.
Issue 4 - Service Level Objectives (SLO) dashboards sometimes load in several seconds and sometimes take minutes to load. Additionally, the dashboard is empty after it loads in some cases.
Issue 5 - Operations Manager Console crashes when you try to override the scope in the Authoring pane.
Issue 6 - The System Center Operations Manager console is slow to load views if you are a member of a custom Operator role.
Issue 7 - This update rollup includes a fix for the dashboard issue that was introduced in Update Rollup 1.
Issue 8 - SQL Time Out Exceptions for State data (31552 events) occur when you create Data Warehouse workflows.
Issue 9 - This update rollup includes a fix for the Event Data source.

Xplat updates:

Issue 1 - All IBM WebSphere application servers that run on Linux or AIX computers are not automatically discovered by the Management Pack for Java Enterprise Edition (JEE) if multiple application servers are defined in a single WebSphere profile.


Lets get started.

From reading the KB article – the order of operations is:


  1. Install the update rollup package on the following server infrastructure:
    • Management servers
    • Gateway servers
    • Web console server role computers
    • Operations console role computers
  2. Apply SQL scripts (see installation information).
  3. Manually import the management packs.
  4. Update Agents

Now, we need to add another step – if we are using Xplat monitoring – need to update the Linux/Unix MP’s and agents.

       5.  Update Unix/Linux MP’s and Agents.


1.  Management Servers


Since there is no RMS anymore, it doesn’t matter which management server I start with.  There is no need to begin with whomever holds the RMSe role.  I simply make sure I only patch one management server at a time to allow for agent failover without overloading any single management server.

I can apply this update manually via the MSP files, or I can use Windows Update.  I have 3 management servers, so I will demonstrate both.  I will do the first management server manually.  This management server holds 3 roles, and each must be patched:  Management Server, Web Console, and Console.

The first thing I do when I download the updates from the catalog, is copy the cab files for my language to a single location:



Then extract the contents:


Once I have the MSP files, I am ready to start applying the update to each server by role.

***Note:  You MUST log on to each server role as a Local Administrator, SCOM Admin, AND your account must also have System Administrator (SA) role to the database instances that host your OpsMgr databases.

My first server is a management server, and the web console, and has the OpsMgr console installed, so I copy those update files locally, and execute them per the KB, from an elevated command prompt:


This launches a quick UI which applies the update.  It will bounce the SCOM services as well.  The update does not provide any feedback that it had success or failure.  You can check the application log for the MsiInstaller events for that:

Log Name:      Application
Source:        MsiInstaller
Date:          6/2/2014 1:58:33 PM
Event ID:      1035
Task Category: None
Level:         Information
Keywords:      Classic
User:          OPSMGR\kevinhol
Computer:      SCOM01.opsmgr.net
Windows Installer reconfigured the product. Product Name: System Center Operations Manager 2012 Server. Product Version: 7.1.10226.1015. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 0.


You can also spot check a couple DLL files for the file version attribute. 



Next up – run the Web Console update:


This runs much faster.   A quick file spot check:


Lastly – install the console update (make sure your console is closed):


A quick file spot check:



Secondary Management Servers:


I now move on to my secondary management servers, applying the server update, then the console update. 

On this next management server, I will use Windows Update.  I check online, and make sure that I have configured Windows Update to give me updates for additional products:


This shows me two applicable updates for this server:


I apply these updates (along with some additional Windows Server Updates I was missing, and reboot each management server, until all management servers are updated.


Updating Gateways:


I can use Windows Update or manual installation.


The update launches a UI and quickly finishes.

Then I will spot check the DLL’s:


That said – there is a long running bug in the gateway update.  The gateway update is NOT placing a very important file here – for agents.

BUG:  In the \Program Files\System Center Operations Manager\Gateway\AgentManagement\ directories – we should be dropping an agent update MSP file for updating agents behind gateways, for x86 and amd64 agents.  However, the GW update does not include this.  If you want to push-deploy agents behind gateways, and need them to be fully up to date, you should copy the correct files from your updated management servers directories.



2. Apply the SQL Script


In the path on your management servers, where you installed/extracted the update, there are two SQL script files: 

%SystemDrive%\Program Files\System Center 2012\Operations Manager\Server\SQL Script for Update Rollups


First – let’s run the script to update the OperationsManager database.  Open a SQL management studio query window, connect it to your Operations Manager database, and then open the script file.  Make sure it is pointing to your OperationsManager database, then execute the script.


Click the “Execute” button in SQL mgmt. studio.  The execution could take a considerable amount of time and you might see a spike in processor utilization on your SQL database server during this operation.

You will see the following (or similar) output:




IF YOU GET AN ERROR – STOP!  Do not continue.  Try re-running the script several times until it completes without errors.  In a large environment, you might have to run this several times, or even potentially shut down the services on your management servers, to break their connection to the databases, to get a successful run.

Technical tidbit:  If you had previously ran this script by applying it during the application of SCOM 2012 R2 UR1, this script is unchanged in UR2.  Therefore it does not have to be executed again during the UR2 deployment.  There is no harm in running it again, especially if you are not 100% sure it was run with success during the UR1 deployment, if applicable.  Always best to just run it again with the deployment of UR2.  However, if you have a large environment and it is difficult to get the script to execute with success, you might skip this step.  Again – only if you already applied UR1, and you are 100% sure it was run with success then.



Next, we have a new script in UR2 to run against the warehouse DB.  Do not skip this step under any circumstances.    From:

%SystemDrive%\Program Files\System Center 2012\Operations Manager\Server\SQL Script for Update Rollups

Open a SQL management studio query window, connect it to your OperationsManagerDW database, and then open the script file UR_Datawarehouse.sql.  Make sure it is pointing to your OperationsManagerDW database, then execute the script.

If you see a warning about line endings, choose Yes to continue.


Click the “Execute” button in SQL mgmt. studio.  The execution could take a considerable amount of time and you might see a spike in processor utilization on your SQL database server during this operation.

You will see the following (or similar) output:



3. Manually import the management packs?


We have five updated MP’s to import  (MAYBE!).


The TFS MP bundles are only used for specific scenarios, such as DevOps scenarios where you have integrated APM with TFS, etc.  If you are not currently using these MP’s, there is no need to import or update them.  I’d skip this MP import unless you already have these MP’s present in your environment.

The Advisor MP’s are only needed if you are using System Center Advisor services.

However, the Image and Visualization libraries deal with Dashboard updates, and these need to be updated.

I import all of these without issue.



4.  Update Agents


There is a known issue in UR2 for agents – read carefully below:

Agents should be placed into pending actions by this update (mine worked great):


If your agents are not placed into pending management – this is generally caused by not running the update from an elevated command prompt, or having manually installed agents which will not be placed into pending

You can approve these – which will result in a success message:


HOWEVER – this didn’t actually do any update.  You can see from the system event logs, that MOMAgentinstaller did run, but when we check the DLL versions, we can see they are not updated.

What you need to do is REJECT any pending updates in the SCOM console – then run a REPAIR on your agents to get them to apply the update.  Alternatively – use a software distribution tool like Configuration Manager to apply agent updates where applicable.  Any agents that are manually installed (Remotely Manageable = No) will not be available for a repair, as always. 

You can track running repairs in Pending Management:



Soon you should start to see PatchList getting filled in from the Agents By Version view under Operations Manager monitoring folder in the console:





5.  Update Unix/Linux MPs and Agents


Next up – I download and extract the updated Linux MP’s for SCOM 2012 SP1 UR2


7.5.1021.0 is current at this time for SCOM 2012 R2 UR2. 

****Note – take GREAT care when downloading – that you select the correct download for R2.  You must scroll down in the list and select the MSI for 2012 R2:



Download the MSI and run it.  It will extract the MP’s to C:\Program Files (x86)\System Center Management Packs\System Center 2012 R2 Management Packs for Unix and Linux\

Update any MP’s you are already using.


You will likely observe VERY high CPU utilization of your management servers and database server during and immediately following these MP imports.  Give it plenty of time to complete the process of the import and MPB deployments.

Next up – you would upgrade your agents on the Unix/Linux monitored agents.  You can now do this straight from the console:



You can input credentials or use existing RunAs accounts if those have enough rights to perform this action.




5.  Update the remaining deployed consoles


This is an important step.  I have consoles deployed around my infrastructure – on my Orchestrator server, SCVMM server, on my personal workstation, on all the other SCOM admins on my team, on a Terminal Server we use as a tools machine, etc.  These should all get the UR2 update.




Now at this point, we would check the OpsMgr event logs on our management servers, check for any new or strange alerts coming in, and ensure that there are no issues after the update.


Known issues:

See the existing list of known issues documented in the KB article.

1.  Many people are reporting that the SQL script is failing to complete when executed.  You should attempt to run this multiple times until it completes without error.  You might need to stop the Exchange correlation engine, stop the services on the management servers, or bounce the SQL server services in order to get a successful completion in a busy management group.  The errors reported appear as below:

(1 row(s) affected)
(1 row(s) affected)
Msg 1205, Level 13, State 56, Line 1
Transaction (Process ID 152) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Msg 3727, Level 16, State 0, Line 1
Could not drop constraint. See previous errors.

2.  Gateway Servers don’t get agent patch update files.  See body of this blog article for more details.

3.  Agents don’t go into pending, or go into pending but the agent update doesn’t actually work.  This is a known issue and will be addressed in the next UR3.  For this release, simply use a “repair” to repair the agents that need the update, or use a software distribution mechanism to deploy the update.

Comments (28)
  1. Kevin Holman says:

    @ Batuhan –

    I verified – there were no changes from UR1 for update_rollup_mom_db.sql , so IF you are 100% sure you applied this correctly during UR1 application, there is not a requirement to apply this again.

  2. JonRunheim says:

    We applied UR2 after upgrading to R2. Everything seemed fine until that undocumented DW-job kicked in that locked the DW for 3h straight before timing out and then was followed by maximum disk utilization..
    Thanks a million Jason Daggett for your post in this thread, it solved our issues as well 🙂
    It’s amazing that there is no documentation anywhere else on this rather important job & timeout setting required for it to finish.
    Again, thanks for posting!

  3. Kevin Holman says:

    @ Batuhan

    I noticed the same thing – the date of the script for update_rollup_mom_db.sql did not change – so it looks like there weren’t any changes from UR1 to UR2. I hate to post in an article when not to run something, because a customer might think they applied it
    previously when they didn’t…. so the safe bet is to re-run it. That said, if it was run with success during UR1 application, this specific script should not need to be re-run. I will verify with the PG and post back to make sure that assumption is correct
    and nothing changed.

  4. Recep YUKSEL says:

    Thank you Mr. Kevin.

  5. Kevin Holman says:

    @Graham –

    I did a little research. The issue Jason described doesn’t have anything to do with UR2. This is caused after the upgrade from 2012 SP1 > 2012 R2. Customers often apply UR2 rather quickly and assume the issue stems from UR2. The index on state tables is part
    of the SCOM 2012 R2 DW upgrade script. I’ll write up a blog post on this.

  6. Faizan Dastoor says:

    Even the below single line ps works well

    get-scomagent | select Name, PatchList | Sort-Object Name

  7. Kevin Holman says:

    @Raoul – Agent version is never updated. The agent version is 2012R2. That does not change. What changes with these UR’s is the "Patch List" property which is described above in the blog post.

  8. Kevin Holman says:

    @Ted –

    We do not update that file as part of any upgrade. The last Windows 2000 server MP we published was 6.0.6989.0. Are you saying you have an imported and sealed Windows 2000 MP that is later than that? If so, I’d argue something is messed up in your database,
    or someone unsealed/edited/resealed it with your own key.

    Regardless, if you need to seal up an MP that references this MP – just edit the manifest section and change the dependency to the older version of the file you do have. Should be just fine.

  9. Fahim2010 says:

    Hope all is well. Just wanted to express my gratitude for the efforts and time you dedicate toward SCOM related articles. Scom Community received many help from your work. Thank you for this. Fahim

  10. Ted T Hacker says:

    Where can I get the current version of an mp file updated during the upgrade to 2012 R2 with UR2? One of the management packs updated but I cannot find the mp file. I need the mp file in order to seal a management pack containing an override to an object
    in that old management pack. The sealing is looking for microsoft.windows.server.2000.mp, "Windows Server 2000 Operating System", with a version of 6.0.7011.0. The latest version I have is 6.0.6989.0.

    It was not in "C:Program Files (x86)System Center Management Packs" or in the source of the R2 upgrade in "ManagementPacks" folder.

  11. John Bradshaw says:

    Nice to have it!! And welcome back!! Hope the new arrivals are doing well !

  12. Batuhan says:

    Hi Kevin, great article as always. I was following your steps in our SCOM environment, everything worked great but I have a question about the SQL scripts. I have already applied UR1 to this environment and there was a "update_rollup_mom_db.sql" script
    in "C:Program FilesMicrosoft System Center 2012 R2Operations ManagerServerSQL Script for Update Rollups" directory, which I executed during UR1 deployment.. After UR2 installation, that script seems not to have changed, the "last access" date property
    of the file show the day when I applied UR1, and the script has a creation date of "1/13/2014". The new "UR_Datawarehouse" script and the MPs in "Management Packs for Update Rollups" (also there were MPs here from UR1 and all of them seems updated) have all
    last access date of today.

    Is there any way to confirm if this SQL script is the UR2 updated version? If not, is there a manual way to get the script without reinstalling the update? Thanks.

  13. Anonymous says:

    This is updated as of 6-3-2014 In general – you should evaluate all hotfixes available, and only apply

  14. Anonymous says:

    Pingback from Sorry I am a bit behind in publishing this post. | FlipsPops

  15. Daniel says:

    thanks for the information provided in your article. I used it to deploy this update to our SCOM environment.

    Keep up the good work.

    Kind regards

  16. RAOUL says:

    So what is the newest agent version? All my agents are version 7.1.10184.0 and I don’t see anything change when I repair the agents. Also don’t see them show up in Pending management.

  17. ML49448 says:

    Welcome back Kevin.

    This might be a stupid question but is it worth waiting for UR3. I did the update in a test environment and the upgrade just smelt bad. The warning for the line ending with the DW SQL script and agents failing to update even after indicating the process completed
    after the agent approval.

    I did as you mentioned and repaired the agents but am still deciding if I should wait till UR3 for my production environment. Hopefully UR3 the agent update issues are sorted and the process is a little more polished.

    This is the first UR I have done and was a bit disappointed that I had to go digging to see if the update completed successfully for both the agent and the management servers.



  18. Satak says:

    You can check your agent version/patch from Powershell:

    $agents = get-scomagent
    $value = $agents[0].HostedHealthService.GetMonitoringProperties() | ? {$_.Name -eq “PatchList”}
    $agents | select version, Name, PrimaryManagementServerName, ManuallyInstalled, @{Label=”PatchList”; Expression={$_.hostedhealthservice.getmonitoringpropertyvalue($value)}} | sort primarymanagementservername, manuallyinstalled, version | ft -autosize

    If the PatchList value is empty, then you don’t have the latest UR update on the agent.

  19. Anonymous says:

    I ran into an issue when upgrading my SCOM 2012 R2 environment to UR2, where a number of agents didn’t

  20. John Bradshaw says:

    Thx again Kevin.

    Just updated the Prod environment (after running Windows Update and rebooting) and the agents came up as UR2 automagically (except for 3 servers).

    In Test, which I did a couple of weeks ago, they had to be updated as per the blog post.
    Go figure….

  21. FYI – There is also another issue that we have run into. The issue is centered around the # of State tables that have been created to hold the aggregated data and the SQL Log file size. In our case we had 455 State Hourly tables and our log file was able
    to grow to 100GBs. To attack this issue we first increase the SQL log to grow without restriction. (Note: We had several TBs of free space on the server to be able to do this) After the upgrade there is an expensive SQL query that re-indexes all the State
    Houly and Daily tables. If you have a large number of aggregated tables the SQL Script will timeout with the default value on the OperationsManagerDW as the query is written to proceed through ALL of the tables associated with Hourly State data. I believe
    the default timeout is 3 hours. During this expensive query there is a schema lock on the OperationsManagerDW preventing the management servers from writing data to it. The fix is to increase the SQL Query Timeout via a registry key on each of the Management
    Servers and restart the services. (reg add "HKLMSOFTWAREMicrosoftMicrosoft Operations Manager3.0Data Warehouse" /v "Deployment Command Timeout Seconds" /t REG_DWORD /d 43200 /f) Roughly 15 minutes after the start of the Management Services, the SQL script
    will run. Allow it to finish. In our case it took just over 4 1/2 hours to complete and the SQL log file grew to 375GBs!! Once complete the Schema Lock lifts allowing data to be written and Dataset Maintenance Aggregation functions to complete. We experienced
    this on several OpsMgr Environments within our infrastructure. So I know some other people probably have run into the same issue so I thought I would share. 🙂

  22. mike says:

    Hi Kevin,

    Just wondering about the additional fixes listed in KB:

    Enable the web console fixes
    Fix for the data warehouse BULK insert commands timeouts.

    These were not listed in your step by step. Should these only be applied in certain circumstances?


  23. Marinus Witbraad says:

    Since UR2 I have trouble running reports. Anyone else has the same problem?
    When running a report it random fails with an error.
    When I use the SQL Reporting Webconsole it runs just fine.

    The error I get is: Cannot execute report.

    Additional Information:
    Note: The following information was gathered when the operation was attempted. The information may appear cryptic but provides context for the error. The application will continue to run.

    System.InvalidOperationException: Some parameters or credentials have not been specified
    at Microsoft.Reporting.WinForms.ServerReport.GetDocumentMap(String rootLabel)
    at Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.ReportForm.OnRenderingCompleteJob(Object sender, ConsoleJobEventArgs args)

  24. ML49448 says:

    Anyone else notice this Error in the Event Viewer when running the agent repair after the UR2 install: Product: Microsoft Monitoring Agent — Error 1923.Service ‘@C:Windowssystem32AdtAgent.exe,-500’ (AdtAgent) could not be installed. Verify that you
    have sufficient privileges to install system services.

  25. Marinus Witbraad says:

    Never mind my previous comment. This was related to a database change. So not related to UR2.

  26. faizan says:

    Hi Kevin,

    As a final step in SCOM 2012 R2 UR2 upgrade, i am in process of upgrading my agents

    Way back, during SCOM set-up, all of the agents were installed manually and now I have to upgrade each and every agent to UR2 thru manuall installation

    Upgrading one of the agent managed servers, I am prompted for a server reboot at the end, which cannot be performed now [process wise, I need to take an official downtime which can take atleast 4-5 days of time]

    Now, can I leave the agent as it is without rebooting, as I can see it showing healthy in Operations Console and can also see "System Center 2012 Operations Manager UR2 Update Patch;" for that particular agent. Going forward, can I consider if there wouldn’t
    be any communication/monitoring issues between MS <–> agent?Please advise


  27. Graham Adams says:

    My thanks too to Jason Daggett for his post. We also had this problem and had been working with Microsoft Technical support for a week before seeing this post and trying it out. It has resolved our issue too.

    Thanks again, Jason, and thanks Kevin for maintaining a blog site that encourages information sharing.

  28. Kris says:

    Hi Kevin,
    Thanks for the documented process for RU2. With all being well and agents update to RU2, I am not sure how to have the new widgets for example : topology or contextual, i don’t see any new ones ? What else must i do to see this ?

    Many Thanks

Comments are closed.

Skip to main content