There are some very welcome improvements with the upgrade process that don’t just apply to 2010 but SharePoint 2007 patch management as well. Unfortunately there is a bit of bad news (at least for some), so we’ll get started there to get it out of the way:

Requirements and Unsupported Scenarios

  • SharePoint 2010 will only support upgrading from WSS v3 and MOSS SP2. There will be no direct upgrade path for WSS 2.0 or SharePoint Portal Server.
  • SharePoint 2010 will only run on 64 bit environments (nothing new here, this has been known for quite some time)
  • No side by side installations. In other words you will not be able to run SharePoint 2007 or WSS 3.0 and SharePoint 2010 on the same hardware at the same time.
  • No gradual upgrade. This comes as a result of not being able to run both products side by side.

Supported Scenarios

  • In place upgrade
  • DB Attach

A couple of tools worth mentioning (discovery and diagnostics)

  • Pre Upgrade Checker: SharePoint 2010 equivalent of prescan, but unlike prescan.exe in 2007, you are not required to run it before performing the upgrade. I cant really see why you wouldn’t though as it provides tons of useful information, and does not modify the databases on the farm.
    • Worth noting that this already comes with SharePoint 2007 SP2 and a newer version is being released with the October Cummulative Update.

2009-10-20 14.55.55 

  • SP Diagnostics Utility:  Already in SharePoint 2007 (at least in SP2), give some very useful information regarding the farm’s overall health
  • Test-SPContentDatabase: PowerShell commandlet which reports data from server and database pairing; this is where the database may include references to certain features which may not be on the server ( You can run this against both 2007 and 2010 databases). report data includes:
    • Custom Site Definitions
      • Language
      • Template ID
      • Count (how often its being used)
      • Installed or missing
    • Used and missing assemblies
    • Missing ghosted(ghostable) files
    • Custom Receiver Assemblies
      • In use
      • Installed or missing
      • Where are they being used
    • Features
      • In use
      • where
      • installed or missing
  • Feature Upgrade Capabilities: This allows you to create new versions of your features and indicate whether you want to upgraded these features, where they are being used, to their newer respective versions. I suspect this can be a bit tricky… but if it works well, its a fantastic improvement.
  • Visual Upgrade: I mentioned this in one of my earlier posts.. fantastic idea. The product ships with 2007 versions of most of the site definitions (that’s right… most) that run on 2010. This means that you can upgrade now, and worry about the impact changing the look and feel will have later. Of course its important to note that this may not work with custom site definitions (although I hope its supported if we create their 2010 equivalents.)
    • By default, sites are upgraded with the 2007 look and feel
    • Can force to the new look and feel when performing the upgrade with the addcontentdb command or PowerShell mount command
    • Web owners can upgrade to the 2010 look and feel on their own when they are ready.
    • The following site definitions do not support Visual Upgrades:
      • My Site Core Site
      • PWA Core Site

Additional things worth noting

  • Central Administration provides great interfaces to help track the status of the upgrade. Giving us a look into the log information including current upgrade step and any errors.
  • Can run multiple upgrade sessions simultaneously and track via central admin.
  • One log per upgrade session
    • Upgrade errors only log
  • Fixed upgrade log schema (easier to report against)
  • Current DB Schema displayed in Central Admin
  • Easily re-run an upgrade that failed in the past.. this is useful if you know what caused the error and were able to fix it. Tags: ,,
digg_url = “”;digg_title = “SharePoint Upgrade Fundamentals Part 1 – SPC 2009 Session Highlights”;digg_bgcolor = “#FFFFFF”;digg_skin = “compact”;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;