SharePoint 2010 Upgrade Part 2: Advanced Scenarios

These are some notes from a great session today at the SharePoint Conference 2009 in Las Vegas delivered by Sean Livingston, the Upgrade Program Manager at Microsoft.  Lots of good, detailed information here.  The notes are as organized as I can make them while I’m sitting here in the room, but they will of course not be as polished as I’d like them to be.  I’ve decided to err on the side of more information – less polish.  Basic upgrade process and tools information was presented in part 1.  (My notes for that session are here.)

The Upgrade Team worked within a specific Upgrade Philosophy that included the following tenets:

  • Detect issues early, both in O12 and at start of upgrade.
  • Keep the administrators informed as to issues and next steps.
  • No data loss.
  • Minimize downtime
  • Continue when possible (when errors are not fatal, log an error and move on)
  • Be reentrant (prevent catastrophic failures that cause complete restoration)

Upgrade Sequence

Stage 1:  Boot strap

  1. Config db
  2. Admin content db
  3. Pre-joined farm
  4. Join farm

Stage 2:  Central Admin

  1. Local farm
  2. Admin web service
  3. Admin web application
  4. SPIISSite objects
  5. Admin content db > Web Templates, Features Upgrade, SPSites

Stage 3:  User Data (performed by a Timer Job ASAP.  This prevents problems if the admin’s Terminal Server session times out and logs off.)

  1. Local farm
  2. SharedResourceProvider12 Objects > Partner stuff
  3. ???? (didn’t type fast enough…)
  4. Content databases > Web templates, Features upgrade, SPSites

Within these steps come many smaller actions.  Each of these are marked as successful when complete within the object schema.  If the upgrade is restarted, it resumes after the last successful action in each sequence.

The further you are from the current patch level, the longer the upgrade will take, because it has to perform those actions now.


  • V2V upgrade DBs set to simple recovery to maximize performance (may not happen in Beta 2)
    So, don’t do any log shipping or mirroring during upgrade.
  • DB growth during upgrade (2 to 3 times the normal size including the log)
    • Manually shrink database after upgrade
    • There will be a Health Rule that looks for DBs with large amounts of free space
  • SQL timeouts are removed (if SQL server is still up)
  • Version Path fallback logic (if dependencies are not in the 14 hive, look in the 12, if not there look in 60)
  • Object locking has been reworked to allow multiple db upgrades to run concurrently without interfering with each other (checks for stale locks every 2 minutes)

Read-Only Content Databases allow you to upgrade a copy of the databases on the new farm while users access content.

  • This is only for Content Databases
  • Must be at least 2007 SP2
  • SharePoint reads SQL database lock settings and proactively applies site collection locks so the users don’t see edit functionality in GUI
  • If traffic is high, you may need to duplicate your SQL server for the upgrade to have enough resources

Parallel Upgrade used to be done via separate temporary farms.  Now it can be done in separate command windows on the same server.  Microsoft internal testing has found that a single true SQL server can handle up to about 8 concurrent upgrade threads.  If you’re doing it in a limited VM environment, it’s probably more like 2 or 3.

AAM Redirection can now be used with the Content DB Attach upgrade, but it should be seen as the approach of last resort.  This can only be as granular as your content databases are.  It is complex and requires URL changes which means link fixup will be needed and not all clients will understand the changes.

The planning process before you attempt an upgrade should include many things:

  • Gather information
    • Pre-upgrade checker
    • WinDiff
      • New server with same version and patch level
      • Compare Web Server Extensions directory
      • Compare IIS directory
      • Compare GAC directory
  • Determine impact (stsadm –o EnumAllWebs)
  • House-cleaning
    • Stale sites and webs
    • Old document versions
    • Templates, features, and web parts
    • Repair data issues
      • stsadm –o database repair
      • stsadm –o deletelist
  • Collect customizations
    • Gather original installation media
    • stsadm –o ExportIPFSAdminObjects
  • Test the upgrade
    • Don’t ignore warnings and errors in logs
    • Use real datasets
    • Similar hardware
    • FBA will need to have some changes ALWAYS in your web.config files
      • For the web app
      • For Central Admin
      • For the Security Token Service
    • Make sure you test in both UI modes

Surprisingly, upgrade performance is more affected by number of sites, webs, lists… than it is by database size.  Hardware limitations are also key.

When the upgrade is finished, there are some manual things you will likely need to do.

  • FBA configuration
  • Unghosted pages
  • Over wide lists (too many columns)
  • Site templates and list templates will not come forward in the upgrade
    Instances built from the templates are fine, just the templates don’t upgrade.  You will need to recreate the templates (best practice is to do this as user solutions instead of .stp files)

If upgrade fails (hypothetically, of course), the following sequence is recommended for troubleshooting:

  1. Go to status page
  2. Go to error log
  3. Go to full upgrade log (the correlation ID from the error screen is helpful to find the relevant log entries)
  4. Test-SPContentDatabase
  5. stsadm –o enumallwebs
  6. Fix issues
  7. Restart your upgrade

Related Posts

080912_0319_HowtoAddthe1.png 080912_0319_HowtoAddthe2.png 080912_0319_HowtoAddthe3.png 080912_0319_HowtoAddthe4.png 080912_0319_HowtoAddthe5.png 080912_0319_HowtoAddthe6.png 080912_0319_HowtoAddthe7.png 080912_0319_HowtoAddthe8.png 080912_0319_HowtoAddthe9.png 080912_0319_HowtoAddthe10.png 080912_0319_HowtoAddthe11.png 080912_0319_HowtoAddthe12.png

How to Add the Meeting Workspace Button in the Outlook 2010 Ribbon to Create a Meeting Workspace

image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png wlEmoticon-smile.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png image.png image_thumb.png

How to Scale Out a SharePoint 2010 Farm From Two-Tier to Three-Tier By Adding A Dedicated Application Server

image.png image_thumb.png SharePointDropDownFilter.png

SharePoint 2010 Tutorial Video: Drop-Down Filters

Loading SharePoint Dlls into Reflector

Leave a Reply