How can I migrate the User Profiles in SharePoint 2007 (including custom fields) to the SharePoint 2010 User Profile Service?

I'm finding it difficult to find clear steps.

1 Answer 1


Here are the steps you should follow

  1. Take a backup of the MOSS 2007 SSP and the My Site databases through SQL Server.
  2. Restore the SSP database as Profile DB and the My Site Content database as WSS_Content_MySites in the SharePoint 2010 -SQL Server instance.
  3. Create a Web Application through SharePoint 2010 Central Administration to host My Site.
  4. Attach and upgrade the restored 2007 My Sites database (i.e. WSS_Content_MySites) using the SharePoint 2010 Management Shell.
  5. Turn off the following services in your SharePoint 2010 Central Administration site:

    • User Profile Service
    • User Profile Synchronization Service.
  6. Now delete the existing User Profile Service Application(s) if they already exist [ in Central Administration -> Application Management -> Manage Service Applications]

    • Make sure to check the box to delete the associated data/content
    • Reset IIS
  7. Create a new User Profile Service Application in Central Administration [Central Administration –> Manage Service Applications –> New]

    • Name = User Profile Service Application.
    • Create New App Pool.
    • Use the restored 2007 SSP database as the “Profile Database Name” (Profile_DB).
    • Accept all other default database names.
    • Enter the newly created MySites web application URL (e.g. http://mysites) as the default MySites location for the new User Profile Service Application.
    • Go to “Administrators” in the ribbon menu for the User Profile Service Application and verify that DOMAIN\farm_account has “Full Control” rights.
    • Start the User Profile Service in Central Administration [Central Administration –> Application Management –> Manage Services on Server].
  8. Start the User Profile Synchronization service in Central Administration [Central Administration –> Application Management –> Manage Services on Server]

    • Use the DOMAIN\farm_account credentials.
    • This will take a few minutes…
    • Follow progress in the ULSViewer.exe if you are concerned it is failing & filter by Category=”User Profile”.
    • Reset IIS.
  9. In services.msc on your Central Administration host server (i.e. “App Server”), verify the two ForeFront Identity Management Windows services.

    • Services are started.
    • Set to startup type “Automatic”.
    • Running as DOMAIN\farm_account.
  10. Setup the Profile Import [Central Administration -> Manage Service Applications -> User Profile Service Application - click on title]

  11. Click on the link to “Add New Synchronization Connection”

    • Name = DOMAIN
    • Forest Name = sub.domain.local
    • Specify a DC = dc.sub.domain.local
    • Authentication = Windows Authentication
    • Account Name = DOMAIN\ad_sync_account
    • Make sure your chosen account has “Replicating Changes” rights in AD.
    • Click “Populate Containers”.
    • Click “Select All” and click the 'OK' Button.
  12. Run a Full Import

    • Central Administration –> Manage Service Applications” -> “User Profile Service Application” -> “Start Profile Synchronization” -> select the Full Import radio button option
    • This will take a few minutes.
  13. Setup Profile Sync schedules [Central Administration –> Monitoring –> Timer Jobs]

  14. Now we have done everything and it’s time now to test the MySites site with a domain user account.

Source - http://www.mssharepointtips.com/tip.asp?id=1110

  • Thank you Amal. Will this also copy the custom properties? How can I determine in what database these custom properties are stored?
    – TempaC
    Dec 22, 2014 at 13:06
  • 1
    The Service Application database has all those information. You need to take care of only two databases, the SSP and mysites. Dec 22, 2014 at 13:10
  • 1
    Yes. That is correct. Dec 22, 2014 at 13:23
  • 1
    Yes. That is correct. Dec 22, 2014 at 13:27
  • 1
    Migration should be planned properly. Also make sure you do it in TEST environments first, and then do it in actual production. Best of luck! Dec 22, 2014 at 13:30

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.