Migrating SharePoint 2007 Site Collections to SharePoint 2010

I have been meaning to  learn how to do this for some time, but have been bogged down putting out fires to do it. Also, I thought it would be harder to do than it is. After searching I found a bunch of instructions that sounded good, but left out steps or were less clear than I would like. So here is the DEFINITIVE instruction manual on the subject. (If you feel I left something out, or was not perfectly clear please let me know.)

Migrate SharePoint 2007 Site Collection to SP 2010

1.   Backup SP2007 DB

2.   Make Sure SP2007 content DB is NOT Read-Only!

3.   Detach SP2007 content DB

              a.   In the detach DB dialog select the “Drop” option

4.   Copy SP2007 content DB files (.mdf and .ldf) to the SP2010 machine in the SQL folder with all the other SQL files (usually something like C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data

5.   In the SQL Server Management Studio, right click Databases, and then Attach. Select the .mdf file for the SP2007 content DB. The .ldf file will automagically associate.

6.   Create new web application in SP2010

7.   Create new site collection in SP2010 using web application created in step 6

8.   Test the imported 2007 DB to see if all needed components are there. Take care of any affected sites/lists at this point.

 Script: Test-SPContentDatabase -Name WSS_Content_Imported2007DB -WebApplication http://NewSP2010Site

 NOTE: Use the SharePoint 2010 Management Shell, not Windows PowerShell module. I hated Powershell for some time till I figured out that I should have been using the SP Management Shell!

 9.   Un-mount content DB for new site collection created in step 7

 Script: Dismount-SPContentDatabase WSS_Content_NewSP2010ContentDB

 10.   Mount SP2007 content DB to new site collection created in step 7. You can use the “UpdateUserExperience” option to convert the SP2007 site to the SP2010 look and feel, or leave it with the SP2007 look and feel and convert it later.  Look for another post to outline this process.

 NOTE: Again, use the SharePoint 2010 Management Shell

Script: Mount-SPContentDatabase WSS_Content_2007ContentDB –WebApplication http://Sharepoint2010SiteURL

 Yes, it’s just that easy!