Change is never easy! Whether it’s going to college, getting married, or just getting the new, cool haircut you’ve always wanted, there will be something that you’ll miss not having (freedom of the single life, anyone?). Moving to SharePoint 2010 is no exception. Although upgrading is rewarding, with improvements in many areas, you will still need the precious content that exists in your current SharePoint 2007 environment. In this article, I’ll demonstrate how to migrate a site to SharePoint 2010 using the database attach method.
Challenge:
How can I migrate the site/site collection I want from SharePoint 2007 to SharePoint 2010?
Moving the entire farm to SharePoint 2010 could take much time, bordering on seeming forever. Sometimes, however, we want to get the contents of a specific site/site collection up and running on the new platform as soon as possible.
Solutions:
Using the database attach method, we can migrate a site/site collection to SharePoint 2010 following these basic steps:
Step 1: Move the needed site to a new Web application.
Step 2: Copy the content database backup to the SharePoint 2010 SQL server.
Step 3: Mount that content database to the SharePoint 2010 server.
Notes before migrating
- Always backup your content database to be on the safe side.
- The SharePoint 2007 server must have SharePoint Service Pack 2 installed.
- Run the upgrade check program on your SharePoint 2007 server, stsadm -o preupgradecheck. Fix any issues reported before moving on to the next step.
Step 1: Move the site to a new web application in SharePoint 2007
Let’s say we want to migrate the SharePoint site at http://duyfarm/TeamSite.
-
- First, create a new Web application and blank site collection (for example: http://duyfarm:6789).
-
-
-
- SharePoint Farm Admin.
- Local Administration rights on the Web server.
- db_owner permission on the content databases.
- Ensure the access account has access to the site content (sometimes farm admin might not be a site collection admin).Login to the SharePoint server using an account that has the following rights/permissions:
-
- Open Command Prompt and change directory to %COMMONPROGRAMFILES%Microsoft shared web server extensions12bin, then run the following STSADM commands:
-
stsadm -o export -url <URL name> -filename <export file name> -includeusersecuritystsadm -o import -filename <import file name> -url <URL name> -includeusersecurity
The imported Web application might look like this:
Step 2: Copy the content database backup to the SharePoint 2010 SQL server
-
- Open Microsoft SQL Server Management Studio. Right-click on the content database and select Tasks > Backup…
- Enter the Backup Name, select Destination, and click OK to start.
- Copy this backup file to the SharePoint 2010 SQL server.
Step 3: Mount the content database to the SharePoint 2010 server
-
- On the SharePoint 2010 server, create a new empty Web application. For example, http://duyfarm2010:6789.
- If you have any custom components on the original site, install them to this Web application now.
- After that, we can restore the SharePoint 2007 backup to SharePoint 2010 SQL Server. Open Microsoft SQL Server Management Studio. Right-click on Databases and select Restore Database…
- Enter the new database name, ensuring you don’t overwrite the original content database. Select the Source and click OK to start.
- Open SharePoint 2010 Management Shell and dismount the current SP2010 content database.
Dismount-SPContentDatabase <ContentdBName>
- Verify that we have all the needed custom components. If there are any errors, make sure you correct them before mounting the SP2007 content database.
Test-SPContentDatabase -Name <DatabaseName> -WebApplication <URL>
- My test shows no error, so we are ready to run the Mount-SPContentDatabase cmdlet. This cmdlet also upgrades the SP2007 content to SP2010.
Mount-SPContentDatabase <ContentDb> -WebApplication http://SiteName
- After completing this process, you need to review the log files (the upgraded log file and error log file) to ensure there are no errors. The log files are located at %COMMONPROGRAMFILES%Microsoft Shared web server extensions14LOGS. The logs are named in the following format: Upgrade-YYYYMMDD-HHMMSS-SSS-error.log and Upgrade-YYYYMMDD-HHMMSS-SSS.log, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds). If there are errors at this time, they will most likely be due to some customization done on the SharePoint 2007 server.
We have finally finished the migration process. Notice that after our upgrade is completed, the new site looks exactly like it was in SharePoint 2007. In SharePoint 2010, a feature called Visual Upgrade gives you an option to switch between SharePoint 2007 look and feel or the SharePoint 2010 view. Note that if you have customized themes on the old site, you must re-create the new theme on the new site before you can switch. To switch over to the new SharePoint 2010 look, do this:
-
- Log in as Site Owner and select Site Actions > Visual Upgrade.
- Log in as Site Owner and select Site Actions > Visual Upgrade.
-
- Select Update the user interface. Click OK.
Here is the SharePoint 2010 look and feel:
Notes:
- The database attaches method works with both SharePoint 2010 Foundation and Server.
- Limitations of the export/import method are:
- Using the export operation, you cannot save a workflow, alerts, features, solutions, or Recycle-Bin state.
- Stsadm only supports moving entire Web sites (SPWeb instances). You are not able to export selected items or lists.
- When you migrate site objects, you cannot retain globally unique object identifiers (GUIDs). New identifiers are added at the migration target.
See Also:
- Prepare the new SharePoint Foundation 2010 environment for a database attach upgrade (TechNet)
- Attach databases and upgrade to SharePoint Foundation 2010 (TechNet)
- Using stsadm.exe to migrate site data (MSDN)
wrote
re: SharePoint 2010 Cookbook: How to Migrate a SharePoint 2007 Site to SharePoint 2010 Using Database Attach
This is a great article, but I do have a question regarding this:
By adding more databases to your Sharepoint 2010 installation for every site you migrated and added from Sharepoint 2007….does this not cause issues with global searching within Sharepoint 2010 since there are not multiple databases?
Thanks
wrote
re: SharePoint 2010 Cookbook: How to Migrate a SharePoint 2007 Site to SharePoint 2010 Using Database Attach
When I restore the database and create a new Web Application, do I have to create a blank site? I tried to create a blank site, and it didn’t work. And when I made the same steps (without creating any site), the site didn’t open. Appears: HTTP/1.1 200 OK Connection: close.
Could you give a little help?
Thanks!
wrote
Migrando sites de SharePoint 2007 a SharePoint 2010
Debido a la gran acogida que ha tenido la nueva versión de SharePoint “SharePoint 2010”
wrote
re: SharePoint 2010 Cookbook: How to Migrate a SharePoint 2007 Site to SharePoint 2010 Using Database Attach
Hi there,
Thank you for the great article!!
I want to know if I can follow the same processes described here when I want to go from SharePoint 2007 (using SQL Server 2008) to SharePoint 2010 (using SQL Server 2012). Or must I do the SharePoint migration and upgrade the SQL database?
Thank you,
Marli