How to upgrade from SharePoint 2010 to SharePoint 2013?

SharePoint 2010 is upgraded to SharePoint 2013 in a long sequence of steps. Since databases are an important constituent for the successful running of SharePoint, the upgrade process is carried out using the database attach method. This involves creation of a Farm, copying content and SharePoint application databases, followed by attaching and upgrading the databases. Site Collections can then be upgraded individually as needed.

Here are the steps in detail.

1. Create a new SharePoint 2013 Farm

The prerequisites for SharePoint 2013 are installed first followed by SharePoint 2013. Once completed, the Farm administrator sets up a SharePoint 2013 Farm. The existing SharePoint 2010 Farm and database is set to Read-Only to prevent changes during the upgrade.
2. Copy SharePoint 2010 databases – Content database & Service Application database

The SQL Server Manager Studio is used to upgrade databases to SharePoint 2013. The existing SharePoint 2010 service application database and the content database are backed up into the 2010 Farm. The SQL Server backup and restore process is used to restore the backed up files to the new SharePoint 2013 Farm, where it is set as Read-Write, allowing changes.
3. Upgrade the Service Applications and databases
The Farm administrator then configures several service applications to use the new Farm. These are

Performancepoint Service Application
User Profile Service Application
Managed Metadata Service Application
Business Data Connectivity Application
Secure Store Service Application
Search Service Application

Then the equivalent SharePoint 2013 Web applications are created for each application in SharePoint 2010 Farm. During this procedure, the URLs and Port numbers used by Web applications in SharePoint 2010 are reused for the Web applications created in SharePoint 2013.

Once all the Web applications have been recreated the administrator creates SharePoint 2013 customizations similar to the ones existing in SharePoint 2010. The customizations applied may cover – Feature and solutions, Web Parts, Site definitions, Web Services, Web.config changes, Style Sheets, etc.

4. Upgrade Content databases

The content database is upgraded by running commands through the Windows PowerShell. Prior to this the database is tested using the cmdlet “Test-SPContentDatabase” to identify errors that can affect the upgrade and to identify the missing components as well. Such missing components are deployed and the cmdlet re-run to check for errors again. After all errors have been eliminated, the content databases are attached to their Web applications using the cmdlet “Mount-SPContentDatabase”.
5. Upgrade the Site Collections

Before Site owners can upgrade their Sites, the Farm administrator must upgrade the MySite host. After this, individual Site owners can begin upgrading their “MySites”. The SiteUpgrade option under Site Settings can be used to begin the upgrade. The Farm administrators use the Upgrade-SPSite cmdlet to upgrade or can use the “Upgrade the Site Collection” button.

Before each upgrade the Site Collections administrators run health checks to identify and repair errors that can affect the upgrade. After all health checks return results with all clear the Site Collection administrators being upgrading their Sites.

The Upgrade Status log contains the details about the upgrade which can be used by Site administrators to check their Sites.