Thursday, January 21, 2010

How To Upgrade to SharePoint 2010 using Database Attach method: Part 2

This is a Continuation of my previous post How To Upgrade to SharePoint 2010 using Database Attach method: Part 1 of my 2 Post series on How to Upgrade MOSS 2007 farm to SharePoint 2010 farm using Database attach method

In my previous post we covered all the steps which were to be performed on MOSS 2007 server. In this post we will cover the steps which are to be performed on SharePoint 2010 site.

The two steps which we covered in my previous post were
Step 1: Running Pre-Upgrade check command on the MOSS 2007 server, reviewing the report generated by it and fixing any issues which might be there in the farm
Step 2: Copying the Content database from MOSS 2007 server to SharePoint 2010 server.

Now we move to the 3rd Step..

Step 3: Create a new Web Application in SharePoint 2010. Once you will create a web application a content database will be attached to it, remove the database attached to the web application via Central Administration -> Application Management -> Manage Content Databases.
Make sure that no database is attached to the Web Application which you have just created.

Step 4: Run the Test-SPContentDatabase cmdlet (PowerShell).
Running this command will check if the database is ready for upgrade or not. This will tell you about the things which are missing in this farm (E.g. Any setup files, web parts etc.). You can either attend to these missing features pre or post-upgrade but this depends on whether there are any items that will block the upgrade from proceeding.

Syntax: Test-SPContentDatabase -Name -WebApplication

Step 5: Run the stsadm addcontentdb command to add the content Database to the web application which you created. This will initiate the upgrade process as shown in the screen below
Syntax: stsadm -o addcontentdb -url -databasename

Step 6: Review the Upgrade Log file and fix the errors.
The upgrade process generates two log files. (Under 14/LOGS)
The upgrade log file which contains all the information about the upgrade
The error log file which gives you the error which occurred during the upgrade
You can review the log files and fix the errors by manually upgrading the Customizations which were there in your site


Step 7: Upgrade Customizations
You have to manually upgrade the customizations. I decided to copy the customization after doing the upgrade as none of it was blocking the upgrade. If any of your customization is blocking the upgrade you will have to upgrade the customization first and then do the upgrade.
 The customizations in this upgrade included the following things
–A custom Solution (wsp)
–2 custom Web Parts
–Custom Images (/_layouts/Images)
I added the solution to the farm solution store by using stsadm and then deployed it to my web application then I copied the Web Part assemblies to the GAC and added the Safe Control entries in the web.config file of my Web Application then I copied all the images used in my Web Application to appropriate places (like /14/TEMPLATE/IMAGES)

Once you have upgraded all the customizations your upgrade is complete.

There is one more Feature about which i would like to tell you is the Visual Upgrade feature. This feature gives you an option to switch between  MOSS 2007 view of your Site and SharePoint 2010 view of your site after it has been upgraded.
Since your custom themes will not be upgraded Visual upgrade gives you an option to keep the MOSS 2007 view after you have upgraded the site to buy you some time to create new themes for your SharePoint 2010 site and once you are done creating the new theme you can switch to the new SharePoint 2010 view.
Following images show how the site looked after upgrade in MOSs 2007 view and SharePoint 2010 view.

Upgraded Site in MOSS 2007 View

Upgraded Site in SharePoint 2010 View


  1. Anshul, this was well written and very helpful. I am migrating MOSS 07 content to MOSS 10, and have reached your Step 6. I reviewed the log but am uncertain how to determine what each of the error messages is referring to. Any suggestions on how to determine the specific feature or customization? Several examples below:

    [STSADM] [SPContentDatabaseSequence] [INFO] [5/27/2010 2:50:29 PM]: SPContentDatabase Name=WSS_Content_XXX
    [STSADM] [SPContentDatabaseSequence] [ERROR] [5/27/2010 2:50:29 PM]: Found a missing feature Id = [fc5e2840-0b48-42eb-9ad7-076f5add58ad]

    [STSADM] [SPContentDatabaseSequence] [INFO] [5/27/2010 2:50:36 PM]: SPContentDatabase Name=WSS_Content_XXX
    [STSADM] [SPContentDatabaseSequence] [WARNING] [5/27/2010 2:50:36 PM]: File [Features\VASCSiteAction\VASC-core.css] is referenced [22] times in the database [WSS_Content_Ingenuity], but is not installed on the current farm. Please install any feature/solution which contains this file.

    [STSADM] [SPSiteWssSequence2] [INFO] [5/27/2010 2:57:34 PM]: SPSite Url=http://ummoss10dev:3000
    [STSADM] [SPSiteWssSequence2] [WARNING] [5/27/2010 2:57:34 PM]: Feature could not be upgraded. Exception: Feature definition id '2a0a7bec-ef16-4ed4-ab08-ce81ab054b5c' could not be found.

  2. Hi,

    I followed the steps mentioned by you and they worked. But when i access the new web app in MOSS 2010, it gives me 'Access Denied', probably because the user was different on MOSS 2007 site.

    How can i resolve this issue?

  3. Thank You Very Much!! That helped me a lot

  4. Anshul,
    I need help to upgrade my SharePoint 2007 (single farm) to SharePoint 2010. One big issue is that we have about 5 Terabytes database. I do not know how to split this database for the upgrade. I am looking at using your Database Attach method. Will you be kind to help?

    Thanks in advance.

  5. Hi,

    I'm stuck on Step 7: Upgrade Customizations.
    I've pretty much got the same error as described above, you now mentioned that the customizations need to be manually upgraded.

    Where and how can this be done? Any help would be appreciated.


  6. I'm stuck on Step 4: Run the Test-SPContentDatabase cmdlet (PowerShell).

    The error it shows is:

    Category : DatabaseValidation
    Error : True
    UpgradeBlocking : False
    Message : This database [WSS_Content] is too old and cannot be upgraded.
    Remedy : Upgrade this database to Windows SharePoint Services Version
    3, SP2 or later.

    Can you help me.


  7. Thank you! Great Article.. followed it and had no issues at all.

    One question, can you provide any explanation on the process of migrating additional databases from a SharePoint 2007 server, namely Search database, to a SharePoint 2010 server, please?


  8. Hi Roberto,

    I just saw/read your issue. Other will correct me if I am wrong, however did you apply first the latest cumulative updates? they can be found here:

  9. Large DB issue? split site collections into new databse.
    DB version issue? Update to SP2.
    Customization issue? make sure 3rd party addons support 64bit. Cusom pages will be located in 12 hive, and feature folder.

    Search DB cannot be migrated

  10. How do you installed 2007 fab 40 templates to 2010 environment? I found 2010 compatible templates from this site "". But after installations those are not shown under Test-SPContentDatabase cmdlet. Any thoughts...

  11. Very good information.
    I have follow everything you have here but the web application is not displaying my old site. It displays but with the new content. Also the visual upgrade buttons are disable.
    Any idea how I can resolve this issues.

    Thank you

  12. can you explan configuration of search service application and alternate access mapping concepts because iam facing the problems while doing those.......

  13. I have inherited a site that has had a trial upgrade done and it looks pretty good. I would like to delete this site and reupgrade using a more current version of the 2007 content database. Can I just delete the content database from the already existing webapp (it is the root site and a bunch of subsites) to start over.

    1. or do I need to delete and re-add the web application each time?

  14. I had problems in upgrading but after taking help from your blog I successfully performed this task. A big thanks to you for explaining and providing this useful detail.
    electronic signature for sharepoint