Upgrade Exchange 2010 SP1 to SP2 on a single server environment

I have read a number of documents online regarding the installation of Exchange 2010 SP2 where most are quite comprehensive however they lack in clear explanation of what to do in a single server environment. Below are the steps I used to install Exchange 2010 SP2 on an Exchange 2010 SP1 UR4 single server environment that also had Forefront for Exchange installed.

Before we begin I must say this entire setup process is using the Command Line Interface. Its a very basic setup so don’t be scared of doing things using the command line.

Preparation:

Download

Get the SP2 install file from here:

http://www.microsoft.com/download/en/details.aspx?id=28190

Information Collection

First off I collect information about my site that may be valuable later on.

Exchange Version – in PowerShell i run the following command:

Get-ExchangeServer | select name,admindisplayversion | ft

And the output will look like this:

Schema Version – Using DSQuery check the version of your Schema (change the domain from contoso.local to your domain details.

dsquery * "CN=Microsoft Exchange System Objects,DC=CONTOSO,DC=LOCAL" -scope base -attr objectVersion

 

dsquery * "CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,DC=CONTOSO,DC=LOCAL" -scope base -attr rangeUpper

And the output will look like this before the upgrade:

Post schema update shows the following output:
NOTE: The different RangeUpper versions.

System Backups

It is recommended to do the following backups of your enviroment before the upgrade:

  • Active Directory backup before the schema update. Should you have to revert back because the installation corrupts your Active Directory you can do so. This i personally didn’t bother doing (aside from our nightly backups) as the chance of the installation failing is quite minimal. The bigger problem is installing the schema updates and realising there are other dependant systems that have problems with it, in which case its too late because schema updates cant be reversed.
  • Exchange Server System State backup
  • Exchange Server database backup
  • Exchange Server OWA custom pages

AD SCHEMA updating

The AD schema gets updated through the GUI setup process automatically however you then need to confirm that replication to your domain controllers was successful. In my environment I wanted to update the schema beforehand (3 days earlier) and verify that the schema did successfully update to all Domain Controllers. This was one less change to occur on the upgrade day so less things to worry about.

The steps below are based on the following conditions:

  • Enterprise Administrator account was used
  • Command was run from a x64 bit machine that is on the same domain as the schema master (in our case we only have a single domain)

The steps I followed were:

From the Exchange server I opened a command prompt as administrator and ran the following commands:

pushd "\\server\share\microsoft\exchange2010\sp2source"

This temporarily maps a network drive to the installation location, in my case a different server. Obviously you could navigate to a local drive if that is where your source files live.

From here I run the following command:

setup /PrepareSchema

And the output will look like the below screenshot:

IIS6 WMI

Another prerequisite is to have IIS 6 WMI Compatibility installed on all CAS servers, in my case this was my only Exchange server. To install it I simply used PowerShell on the Exchange 2010 server:

Import-Module ServerManager

Add-WindowsFeature Web-WMI

And the output will look like this:

Installation

This part is the easy part. It will require an outage of about 1 hour including testing and the following procedure is what we followed:

  1. Reboot Exchange server
  2. Disable Forefront Protection for Exchange using the following command
    cd "%programfiles(x86)%\Microsoft Forefront Protection for Exchange Server"
    FSCutility.exe /disable

    You will have an error stating some services are still running. To stop them type the following:

    NET STOP FSCCONTROLLER

    Press Y to disable dependant services

    Y

    Try to disable ForeFront again

    FSCutility.exe /disable

    The result should look something like this:

  3. Test basic mail functionality (refer notes below)
  4. Install Exchange 2010 SP2 update using the following command
    pushd "\\server\share\microsoft\exchange2010\sp2source"
    SETUP /m:upgrade

    The setup will run through and eventually should successfully complete. Here is the output window:

  5. Reboot the server. The setup does not require it however its always a good idea to do so.
  6. Test basic mail functionality (refer notes below)
  7. Check versions of Exchange/Schema to make sure everything is correctly installed
  8. Enable Forefront Protection for Exchange using the following command
    cd "%programfiles(x86)%\Microsoft Forefront Protection for Exchange Server"
    FSCutility.exe /enable

    You will have an error stating some services are still running. To stop them type the following:

    NET STOP MSExchangeTransport
    NET STOP MSExchangeIS

    Try to enable ForeFront again

    FSCutility.exe /enable

    The result should look something like this:

    And finally run the following commands to start the services again:

    NET START MSExchangeTransport
    NET START MSExchangeIS
  9. Monitor event logs regarding Exchange Server

Post Installation Tasks

IIS Configuration

I had to make the following changes to IIS after the installation of SP2 as the settings were set to defaults:

  1. Open IIS Manager > Select ‘Default Web Site’ > Double click ‘HTTP Redirect’
  2. Check ‘Redirect requests to this destination’ and type the following URL:
    If you internal and external URL are the same: https://webmail.contoso.com/owa
    If you internal and external URL differ: /owa
  3. Check ‘Only redirect requests to content in this directory (not subdirectories)’ and leave the Status code as ‘Found (302)’.
  4. Click on Apply on right hand side.
  5. For the below Virtual Directories please undo the set setting just applied by un-checking the HTTP Redirect setting. Be sure to click apply for each Virtual Directory.
    • aspnet_client
    • Autodiscover
    • ecp
    • EWS
    • Microsoft-Server-ActiveSync
    • OAB
    • Powershell
    • Rpc
  6. Please verify that the below Virtaul Directories still have HTTP Redirect to /owa enabled on them:
    • Exchange
    • Exchweb
    • Public
  7. Open IIS Manager > Select ‘Default Web Site’ > Double click ‘SSL Settings’
  8. Un-check ‘Require SSL’ and click Apply.
    This will allow users who type in http://webmail.contoso.com to be redirected to https://webmail.contoso.com/owa instead of getting a 403 Accessed Denied error.

Login/Logout Pages

Although I have abandoned customised login and logout pages, it is something you will have to recreate/replace when doing the upgrade. Due to this step i have abandoned customising these pages.

Notes

Basic Exchange Test scripts

Here are the basic Exchange test scripts that I follow when I make changes in my relatively small environment: (300 users/1 server/500gb databases)

http://ivan.dretvich.com/2012/02/exchange-2010-test-scripts/

References

  1. Thank you for article.
    I have Exchange 2010 SP1 Rollup 3 installed on my CAS servers, should I uninstall rollup before install SP2?
    Thank you

    • Hi MarioTunes,
      Firstly Exchange Rollups are cumulative, so updating rollups over the top of each other is perfectly fine.
      Secondly Service Pack’s install over Update Rollups natively and there is no need to uninstall them. Just make sure you update your AD schema first and let it propagate to all your domain controllers.
      Cheers,
      Ivan

  2. i have installed exchange 2010 sp1/hosting, in a single server environment, and have now almost 300 users on the hosted server. i understand that to upgrade to sp2 i have to rebuild both my AD server as well as my exchange server. just wondering does this guide work for my migration to sp2?? if not do i have to rebuild my network from scratch?? or is there another solution you suggest??

    • Hi Mouhamad,
      To upgrade Exchange 2010 to SP2, you do not need to rebuilt your AD or your Exchange server. The update will take on your existing infrastructure. If your systems are virtualised, you could schedule an outage, take snapshots of AD and of Exchange and then do the upgrade. That will leave you with the ability to roll back should it fail.
      If it was me, I would build a second Exchange server and join them together, then migrate data from one to another. Both methods are accepted.
      Cheers,
      Ivan

      • Ivan, thank you for the quick reply. i have a simple setup, 1 win2008R2/AD and 1 win2008 R2/exchange 2010 SP1/hosting. i was planning on setting up another exchange server with sp2, but was wondering if i was told (on many other blogs) that i still need to rebuild my AD first??
        does that sound right??

  3. 2 server env. (testing servers can be rebuilt at any time).. dc and exch10 sp1/hosting trying to update to sp2..
    i keep running into this error, i checked the KB article, and did not help???
    any input on this would help.. thx..

    D:\install\exchange\sp2>setup /PrepareSchema

    Welcome to Microsoft Exchange Server 2010 Unattended Setup

    Preparing Exchange Setup

    Copying Setup Files COMPLETED

    No server roles will be installed
    Active Directory was prepared using the /hosting parameter. You must run the
    command again with the ‘/Hosting’ parameter to continue. If you didn’t intend t
    o
    use Hosting mode, you need to clean up Active Directory and prepare it again
    without using the /hosting parameter. For more information, see the following
    Microsoft Knowledge Base article: http://go.microsoft.com/fwlink/?LinkId=197348
    .

    Exchange Server setup encountered an error.

    • Hi Muhammad,
      This problem may be caused by some incorrect objects in AD, and would really need to be investigated further. I would suggest logging a support call with Microsoft for this as they will be able to resolve the problem for you.
      Alternatively you can try and see if you can enable logged when running that setup command.
      Hope that helps and good luck,
      Ivan

Leave a Reply

QR Code Business Card
%d bloggers like this: