Migrate SharePoint 2010 Site to SharePoint 2013 Site on New Server

I needed to migrate a SharePoint 2010 site on Server A to a SharePoint 2013 site on Server B.  Because my 2010 site was using classic mode authentication, there were some extra steps involved to make sure that user permissions were carried over.  Below are the steps I used to accomplish this.

Step #1:  Backup the content database of the site you will be migrating using SQL Management Studio and copy the database backup to Server B (or wherever your SQL Database Server is that the SharePoint site on Server B uses.  For me they are the same server).

Step #2:   Restore the database backup on Server B.  You can rename the database at this time if you need to.  For me the database backup was of the WSS_Content database, which already existed on Server B so I renamed the database to Infrastructure_WSS_Content as part of the restore process.

Step #3:  Create a classic mode authentication web application in SharePoint 2013.  This can only be done through PowerShell.  Using the Central Administration Tool will create your Web Application in Claims Authentication Mode, and after the migration you will have all kinds of problems with user permissions (as I found out the hard way).

Your command will be in the format

Where:

<Name> is the name of the web application being migrated
<ApplicationPool> is the name of the application pool assigned to the web application
<WindowsAuthType> is either “NTLM” or “Kerberos”
<ApplicationPoolAccount> is the user account that this application pool will run as
<HostHeaderName> is the host header for the web application
<Port> is the port the web application will be created in IIS
<URL> is the public URL for the web application

Not all of these are required fields, you can lookup the help file for New-SPWebApplication here for more information on the cmdlet.

My command looked like this:

Which then produced the following output:

SPMigrationWebApp

 

Step #4:  Delete the content database that was created as a result of the New SharePoint Web Application.  This is because we need to associate our existing site database with this new Web Application in the next step.  You can do this using the SharePoint Central Administration Web Site.

  1. Launch SharePoint 2013 Central Administration web site.
  2. Navigate: Application Management –> Manage Content Databases
  3. Select the web application created in Step #3 from the web application drop down located in the upper right of the browser
  4. Click on the Database Name which was created in Step #3, it will be named something along the lines of WSS_Content_(Insert Random Characters)
  5. Scroll to the bottom of the database information page displayed and check the Remove Content Database checkbox
  6. Click the OK button

Step #5:  Validate that the SharePoint 2010 site can be upgraded to SharePoint 2013.  Launch the SharePoint Management Shell as Administrator and run the command:

Mine looked like this:

You are going to get an error about claims authentication, you can ignore that.  Any other errors should be addressed before continuing with the process, especially if they are issues that say Upgrade Blocked:  Yes.

Step #6:  Mount the database for the SharePoint 2010 site to the newly created Web Application using the command:

Once again, mine looked like this:

You will get a counter below your command that will show the progress while it mounts the database.

Step #7:  IISReset

Step #8:  Browse to your SharePoint Web Application URL.  Your site should display (with a big banner across the top asking if you want to upgrade the site.  Ignore that for now).

Step #9:  Convert your 2010 SharePoint site to Claims Authentication.  Classic mode authentication has been officially depreciated by Microsoft.  If you migrated a classic mode authentication based content database, it is strongly recommend you convert the database to claims based using the Convert-SPWebApplication PowerShell command:

Mine looked like this:

The result looked like this:

ClaimsWarning

Step #10:  Do another IISReset.  Browse to your site.  Click the banner at the top to upgrade and follow the steps.  Depending on the size of your site it can take quite a while to upgrade the site.