We have several SharePoint 2007 farms with several site collections in certain databases. The desire is to be able to migrate these 2007 site collections to our new 2010 farm envirionment. The best way to do this is the Database attach method.

However when i do the database attach, certain functions of the sites fail. This varies per site collection from menu structure to the site not working at all.

The cause of this is because the 2007 envirionment contains several web parts and features that the 2010 envirionment does not. Also the look and feel has drasticaly been changed.

To adres this problem we decided to create a new and clean SharePoint 2007 envirionment and first attach the "dirty" 2007 database there. After that we changed the look and feel and all web parts and features seemed to be gone.

However when i run Test-SPcontentDB on this "Clean" database, it gives me the same errors as te dirty one! The end result is also the same. So my question is, is there a way to remove these web parts etc. from this site collection? So to do some sort of clean up on the database.

I cannot remove the web parts and features from the original server and DB because it is a production server.

1 Answer 1


One of the first steps to any upgrade is to perform the Test-SPContentDatabase check against every content database in the farm. If this check finds errors, your upgrade will not complete successfully. There's no way around this; if you want a successful upgrade, you must pass both the stsadm preupgradecheck and Test-SPContentDatabase.

If the errors are feature related, you must either install the referenced features in your 2010 environment BEFORE attaching/upgrading the database(s), or cleanly remove the features from the 2007 environment before performing the upgrade.

There's a few things you can do to "clean up" the upgrade once it is done, but the "Error" status in the upgrade section of Central Administration will never go away. It's critical that you have a successful upgrade operation from a supportability perspective, which means it really needs to be done correctly in the 2007 environment first.

Even if you had a development environment, you'd still need to clean up the production environment before doing the migration since dev wouldn't be up to date data and you'd loose the delta in the two environments are part of the move.

The best practices process would be to create a mirror of your 2007 environment (build a dev environment), where all of those features and references exist so you can test the removal of those features and migration to 2010. Many times it'll take multiple iterations of removing features/references and rerunning Test-SPContentDatabase until the report is clean. You use this experience in your development environment to document the plan for the production migration. You then take production down for a maintenance window where you execute your documented plan against production to clean those databases, move them to the 2010 farm, upgrade them, and validate the new environment.

Upgrades are not a simple process, it's not something you're just going to fly through. A valid test run and clean Test-SPContentDatabase reports are critical if you want to be successful.

  • Thanks for this answer, this poses another question for me however. Is there a simple way to create a mirror envirionment? Or do i have to manually install all the features etc? I am asking this because the 2007 evnirionment has been set up by someone else and recreating it would be a very frustrating job.
    – nldev
    Oct 7, 2011 at 12:51
  • 1
    Unfortunately there's not a lot of shortcuts you can use here. You can easily make copies of the content databases, but that'll result in the same issues you're seeing in the move to your 2010 farm if you haven't installed all of the required features that your 2007 content uses. You may be able to get away with not setting up all of your SSP's, but you absolutely do need all of the features and customizations installed that are referenced by the content.
    – webdes03
    Oct 7, 2011 at 14:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.