My Experience Upgrading to CM12 SP1


Hi All, it’s been a while since my last post and one of Matts posts hit-count just past my article on Auto Deployment Rules  (Unashamed plug of my old blog post to try and get the numbers up). So I decided, okay it’s time to get another one done.

NOTE: This is not meant to be a step by step guide merely some general advice and run through. I always recommend doing any upgrade process in your test lab environment before even considering upgrading in production. If you don't have one create one.

The environment I'm working with is a lab that was setup when ConfigMgr 2012 RTM came out. It sits on Server 2008 R2 SP1 and SQL 2008 R2 SP1 CU4. Probably not too dissimilar to most 2012 RTM environments.
I have a one CAS, one Child Primary and one Secondary Site.

The first thing I want to do is run the prerequisite checker.
On the ISO I have Prereqchk.exe sits in the folder SC2012SP1_RTM_SCCM_SCEP\SMSSETUP\BIN\X64.


The advantage of running this instead of running through the setup GUI and then seeing what prerequisites are required, you avoid having to have to exit the setup and run through the entire setup process again. To get the command line switches simply run prereqchk /?

Let's run it on each server separately to see what is needed.
CAS Server (
Open an administrative command prompt and run the following command

prereqchk /CAS /SQL <FQDN of the SQL Server>  /SDK <FQDN of the SDK Server>

Feel free to add any other switches that you would like to but this will server our current purpose.




OK so we can see a couple of Warnings which I expected in our lab environment, and number of things we need to fix.
Anything that is a warning is usually just a best practice alert such as the WSUS on site server warning, or for you to be aware of a potential issue such as verifying site server permissions to publish to AD.
Let's go through the errors.

1) We can ignore the two errors Existing Configuration Manager server components on site server and Dedicated SQL Server Instance because the prereqchk is assuming we are trying to do a fresh install on this site server, not an upgrade.
2) User State Migration Tool(USMT) installed, Windows Deployment Tools installed and Windows PreInstallation Environment installed are all part of the latest Window Assessment and Deployment Toolkit which you can download from here
3) SQL Server version I need to upgrade SQL from 2008 R2 SP1 CU4 to either CU6 or SP2. (See Supported Configurations for Configuration Manager.)

NOTE : f you are going to upgrade from 2008 RTM/R2 to SQL 2012 post upgrading to ConfigMgr 2012 SP1, you need to upgrade in the following order.
1st - CAS
2nd - Secondary Site
3rd - Child Primary of that secondary site.

From Technet -

For Configuration Manager SP1 only: Configuration Manager with SP1 supports the in-place upgrade of SQL Server 2008 or SQL Server 2008 R2 to SQL Server 2012 with the following limitations:

• Each Configuration Manager site must run service pack 1 before you can upgrade the version of SQL Server to SQL Server 2012 at any site.

• When you upgrade the version of SQL Server that hosts the site database at each site to SQL Server 2012, you must upgrade the SQL Server version that is used at sites in the following order:

o Upgrade SQL Server at the central administration site first.

o Upgrade secondary sites before you upgrade a secondary sites parent primary site.

o Upgrade parent primary sites last. This includes both child primary sites that report to a central administration site, and stand-alone primary sites that are the top-level site of a hierarchy.


Although you upgrade the service pack version of a Configuration Manager site by upgrading the top-tier site first and then upgrading down the hierarchy, when you upgrade SQL Server to SQL Server 2012, you must use the previous sequence, upgrading the primary sites last. This does not apply to upgrades of SQL Server 2008 to SQL Server 2008 R2.

4) If you haven't already done so, the following WSUS Updates may also need to be applied.
An update for Windows Server Update Services 3.0 Service Pack 2 is available (KB2734608)
An update for Windows Server Update Services 3.0 Service Pack 2 is available (KB2720211)
PLEASE read and understand what may occur in your environment before applying these hotfixes. and of course test in your lab environment first.


Install WADK

Ok so let's install the WADK components to my CAS
Download it from the link above
Run adksetup
Download the Kit to a network location so it is available for installation. (Note this may take a while)


From that location on your server share
Run adksetup.exe
Specify your installation directory and click Next


Select Yes or No depending on your preference and click Next


Accept the license agreement


All you should need is the Deployment Tools, Windows Preinstallation Environment (Windows PE) and User State Migration Tool (USMT) select these and click Install


Again, this may take a while to install.

NOTE: Check your build via PXE after this is done as you may potentially need to remove and redistribute your x64 Boot Image. Ensure you refer to the SMSPXE.log file for any errors.


SQL Upgrade
I'm going to upgrade to SQL 2008 R2 SP2.
(If you wish to do the same you can get SP2 from here How to obtain the latest service pack for SQL Server 2008 R2)

Run the SP2 executable


Click Next


Accept the license agreement


Click Next


After the file check click Next


Click Update


Click Close


Click OK and restart the server
I'd suggest checking the SQL Logs after the reboot to ensure there are no errors that you may need to look into.

Upgrade to ConfigMgr to SP1

Now we can start the SP1 Upgrade

Double click on splash.hta to bring up the splash screen


You'll see a familiar screen Click Install


Click Next


Select Upgrade this Configuration Manager Site and Click Next


Enter your product key and click Next


Accept the license agreement and click Next


Accept the license agreement and click Next


You can either download the latest prerequisite files from the internet and save them on a network location, or use an already downloaded copy. In this case they are available on my copy of the ISO so I'll just grab them from there. Obviously over time I'd suggest you download the latest version from the internet.

Click OK and Next


Select your Server Language and click Next


Select your client language and click Next.


Click Next again at the Summary screen


Finally we reach the prerequisite check screen (You can now see the value in using prereqchk.exe)
For more detail you can look at the ConfigmgrPrereq.log file in the root of C.

Click Begin Install


You should now see a log file called C:\ConfigmgrSetup.log open this up to watch how the upgrade process is going.


We can see that after a successful connection to the database we are about to Upgrade the CAS Server


After about 40 minutes in my lab the upgrade process is complete. See the entry in the setup log file above


We can now click Close on the splash screen


Now let's check and see if the Site has upgraded successfully.
Open the ConfigMgr console and select Administration > Site Configuration > Sites > CAS right click and select Properties


As per Matt’s previous blog we can now see that our CAS is at Version 5.00.7804.1000 and Build number 7804


I'm also going to check my database replication and ensure everything is functioning correctly. .
One other thing that is interesting to note is the change in the change in the configure Client Installation Settings under Administration > Sites and in the ribbon Hierarchy Settings





We now no longer have a choice to select the latest version for the Automatic Client Upgrade option.

Child Primary

OK, so let's now move onto the Child primary

Open an administrative command prompt and run the following command

prereqchk /PRI /SQL <FQDN of the SQL Server>  /SDK <FQDN of the SDK Server>


So we can see the exact same prereqs as the CAS, so I will run through the same process as per the CAS of installing the latest WADK and upgrading SQL.

Upgrade to SP1

The screen shots are exactly the same for the child primary so I won't bore you with those


Once we start again, we can see in the Setup log file after the SQL connections are successful the upgrade will begin


Then after about 30 minutes we can see that the setup is now complete


We can also see a few extra tasks have been done on the Child Primary.

Let’s check some of the logs and the console to ensure it has upgraded successfully.


To see if the components have reinstalled without issue, we can check the sitecomp.log under <SCCMInstallFolder>\Logs
We can see where the bootstrapper starts successfully after SP1 finishes installing. You can also see as it successfully reinstalls each component.

See the figure below for all of the entry’s filtered in the log file.



You may also notice a few new components being installed.


Mpcontrol.log shows us that the management point is communicating successfully.

Now jump into the console and check the site version and database replication. We also essentially check that the provider is functioning since we need it to be to get into the console.


All looks good. Also the picture of the Cloud is a bit of a giveaway.


DB Replication also looks nice and healthy.

Secondary Site

OK, so now lets look at our Secondary site

Open an administrative command prompt and run the following command

prereqchk.exe /SECUPGRADE


We can see that there are 2 points I need to fix before attempting an upgrade.

1) The upgrade process will not automatically install a supported version of SQL so we need to do it manually first
2) SQL Express does not have a static port set so we will need to go into SQL to set a static port of 1433.

The upgrade of SQL we have already run through so I will just go through setting the static port
On the secondary server open up SQL Server Configuration Manager


Ensure the local Secondary server is selected (Or remote server name if you've started it from another server)


Expand SQL Server Network Configuration and select Protocols for CONFIGMGRSEC
Then double click on TCP/IP under protocol name


You will notice that SQL has both Dynamic and a static port set for IPAll


Lets delete the Dynamic entry and click Apply


Click OK and restart the appropriate services.
After I have upgraded SQL and changed the port I run my prereq check again.


We can now see that the errors are gone and we should be able to upgrade our secondary site successfully. You also may have noticed that I have warnings on all of the servers for SQL Server process memory allocation. That is because SQL requires a minimum of 8 GB of RAM for a CAS and Primary, and 4GB for a secondary. It will still run with less as per my Lab VM’s but you will get a performance hit.

Upgrade to SP1

As most of you will now know we install and we upgrade the Secondary site via the ConfigMgr console and not directly on the box itself.
So we can open the console on either our CAS or our Child Primary. I'll do it from the Child primary just to speed things up.


Go to Administration > Sites and select the secondary site. You will now see an Upgrade option available on the ribbon.
When your upgrading you have two choices to monitor what is happening.
1) Click on Show Install Status


This brings up a step by step guide to let you know at what stage the installation is at. Here we can see that the prereq’s have already occurred and the Bootstrap service has already been installed ready for the upgrade.

2) Look at the local log files sitting in the root of C:\


As with the CAS and the Child primary, we have the exact same prereq Wizard and setup log files that go into much more depth should there be any issues with the installation. Although we will need to watch the logs initially on the Child Primary before the setup and bootstrap begins on the secondary site.


I will click on Upgrade get the above warning then click Yes.


This log file is from the Child Primary


With each action we can see the corresponding action in the appropriate log file if we wish.
Once prereqs are finished we can see that the bootstrapper begins its process



And on the secondary site we can see the upgrade process begin





And we can see that now the installation is complete



I'm going to check the SMSEXEC.log to see if my components have started.


I'm also going to check MPControl.log to see if my management point is functioning as expected.


Now ill check the version and database replication status from the console.


We can see that we are on build 7804


And we can also see that database replication is working as expected.

I would suggest checking that all of your components on each server, are functioning correctly. Keep your eye on the status messages and alerts, in case any of them fail and need further attention. You can do this from Monitoring > Site Status and Component Status. Below we can see an example of an issue with my Software Update Point after the SP1 update  that needs attention.

Looking at the WCM.LOG you can see that I haven't applied the WSUS updates I mentioned earlier in this blog.

An update for Windows Server Update Services 3.0 Service Pack 2 is available (KB2734608)
An update for Windows Server Update Services 3.0 Service Pack 2 is available (KB2720211)


I will download and apply these updates.

after a restart of the WSUS Configuration Manager component (This isn't necessary the next time it polls it would do this anyway) you can see that it now has a supported version and is now running though setting up the updated component.


Conclusion and next steps.

So what we have seen here are various methods to run through the upgrade process and various log files and GUI settings in the console that we can use to follow the process. If you plan and get the prerequisites setup correctly before you begin you should have a fairly smooth SP1 upgrade.

Next steps.
1) Update your ConfigMgr Client package to all of your Distribution points and plan out the client upgrade.
2) Think about and potentially plan an upgrade to SQL 2012.

George Smpyrakis