Upgrade SharePoint 2010 to SharePoint 2013

Scenario: Upgrade/Migrate from SharePoint 2010 to SharePoint 2013. In this POC We will upgrade claims based SP 2010 web application containing a single content database and a single site collection at the root at the root of the web application, based on Team Site template. The application has two of my codeplex projects SharePoint 2010 Autocomplete Lookup Field and Export Version History Of SharePoint 2010 List Items to Microsoft Excel deployed to it. The application also makes use of managed metadata service.
Following is the screenshot of the managed metadata term store:

SP 2010 MMS

The site contains two custom lists Companies and Employees as apart from the lists which are automatically provisioned by Team Site.



The field named Company in the Companies list above is a custom field based on SharePoint Lookup Filed. This field is Autocomplete LookUp Field. Location field is a managed metadata field. Versioning is enabled on the Employees list and hence different Export Version History buttons are enabled in the Ribbon and ECB menu. 

Employee Fields

Steps to perform Upgrade:
  • Perform the backup of managed metadata service database.

MMS Backup

  • Perform the backup of Content Database.

Content DB Backup

  • Now go to your SP 2013 Farm and restore the MMS database.

Restore MMS Database

  • Go to Central Administration -> Application Management->Service Applications->Manage services on server. Make sure that Managed Metadata Web Service is started. In order to upgrade the Managed Metadata service application, we will create the new service application and upgrade the database, and then create a proxy and add it to the default proxy group. 
  • Give the user performing the upgrade, securityadmin fixed server role on the SQL Server instance.

Security Admin

  • Also give the user db_owner fixed database role on all databases that are to be updated. In our case this needs to be done with MMS database and content database.

DB Owner

  • Create an application pool or use an already existing application pool for MMS and run following Power Shell commands:

$applicationPool = Get-SPServiceApplicationPool -Identity 'AppServiceAppPool'
$mms = New-SPMetadataServiceApplication -Name 'Managed Metadata Service Application' -ApplicationPool $applicationPool -DatabaseName ManagedMetadataServiceDB
New-SPMetadataServiceApplicationProxy -Name 'ProxyName' -ServiceApplication $mms -DefaultProxyGroup

MMS Service Provision

  • The above commands provision  MMS service named 'Managed     Metadata Service Application' and associates it with a restored database  'ManagedMetadataServiceDB'. The service uses application pool named 'AppServiceAppPool'.

  • Go to Central Administration -> Application Management -> Manage Service Applications and click on newly created 'Managed Metadata Service Application'.Expand the term store, we should be able to see our term store here.

MMS 2013

  • The web application in SP 2010 was at port 99 so we will create a new web application in SP 2013 at port 99.Provide any content DB name. This DB will be removed later.

SP 2013 Web Application

  • Once the web application is created successfully, don't create any site collection. Go to Central Administration -> Application Management -> Databases -> Manage content databases. Select your web application from the dropdown and click on the content database. Now check 'Remove content database' and click on OK. At this time the web application is not associated with any database and site collection.

Content Database to be removed

  • Now we are ready to attach the content database. However, before that we should deploy all our solutions. At this time if we perform the Test-SPContentDatabase Power shell command it produces the following result in our case:
Test-SPContentDatabase -name WSS_Content_99 -webapplication http://aissp2013:99

Test Content Database Result

  • It gives an error regarding missing Export Version History feature. The other solution in our case is Autocomplete Lookup field which is a custom field and doesn't contain any feature. Once we deploy both solutions and run the command again we should be good.
  • Now run the following Mount command to attach the restored content DB with the new web application.
Mount-SPContentDatabase WSS_Content_99 -DatabaseServer SPSQL -WebApplication http://aissp2013:99

Mount Content Database

  • Now browse the site and it will open in 2010 mode as shown. Notice that all things are carried over from SP 2010 successfully. 

Site in 2010 Mode

  • Now click on 'Start now' to turn the site in 2013 mode. You will be presented with 'Prepare for takeoff!' page. Click on 'Upgrade the site collection'. A popup will appear, click on I'm ready.

Upgrade Site Collection

  • Wait for the upgrade to complete. Once done click on 'Let's see the new site'.

Upgrade Success

  • You will be presented with the new 2013 look.

New SP 2013 Look