Now that you have completed the
planning stage for your SharePoint 2010 to SharePoint 2013 upgrade, it
is time to get down to the business of the actual upgrade.
The journey to upgrade SharePoint is seldom
uneventful. In my experience, no two SharePoint system upgrades are the
same. Therefore, I strongly recommend that you execute a few test
upgrade runs before rolling out a final upgrade of SharePoint 2010 to
2013 to production. The theory is that you can perform as many test
upgrades as you need to feel comfortable that you may predict the
outcome of the final production upgrade—the upgrade, which typically
occurs over a weekend or late night outside core business hours. The
beauty of database attach upgrades is that you can perform them over
and over again on test SharePoint 2013 farms without ever affecting
users of your current production legacy farm.
Note Perform a number of test upgrades before settling on the final upgrade for production.
Before diving into
the upgrade process, I shall
discuss version compatibility first. Similar to SharePoint 2013,
SharePoint 2010 shipped in various editions. Editions of SharePoint
2010 must match editions of SharePoint 2013 for a successful upgrade.
Table 1 lists the various product editions of SharePoint before upgrade
with those editions supported and unsupported post upgrade.
Table 1. Upgrade Edition Compatibility
SharePoint Foundation 2010 |
SharePoint Foundation 2013 SharePoint Server 2013 |
SharePoint Foundation 2013 |
SharePoint Server 2013 |
SharePoint Server 2010 |
SharePoint Server 2013 |
SharePoint Foundation 2013 |
SharePoint Server 2013 |
SharePoint Server 2013 |
SharePoint Foundation 2013 |
Search Server 2010 |
SharePoint Server 2013 Search Server 2013 |
SharePoint Foundation 2013 |
Project Server 2010 with SharePoint Server 2010, Enterprise Edition |
Project Server 2013 with SharePoint 2013, Enterprise Edition |
SharePoint Foundation 2013 |
Looking at Table 1
it is easy to see that Foundation editions of SharePoint upgrade to
SharePoint Server 2013. Foundation 2010 also upgrades to the newer
Foundation 2013. However, downgrading from SharePoint Server to a
Foundation version of SharePoint 2013 is unsupported.
Additionally, the
license version of SharePoint plays a part in the upgrade to SharePoint
2013. Table 2 shows the license compatibility matrix when upgrading to
SharePoint 2013.
Table 2. License Compatibility for SharePoint 2013 Upgrade
SharePoint Server 2010, Standard Edition |
SharePoint 2013, Standard Edition |
SharePoint Server 2013, Enterprise Edition—you can convert to Enterprise after upgrade |
SharePoint Server 2010, Enterprise Edition |
SharePoint Server 2013, Enterprise Edition |
SharePoint Server 2013, Standard Edition |
SharePoint Server 2010, Trial Edition |
SharePoint Server 2013, Trial Edition |
SharePoint Server 2013, Full Product Edition— you can convert to the full product version after upgrade |
It might appear obvious that you
cannot downgrade the license version of SharePoint as part of the
upgrade to SharePoint 2013 process. I have seen cases where an
organization wishes to drop its Enterprise License to Standard and
expects to perform this operation as part of the upgrade. Furthermore,
the same is true for the opposite direction—if you plan to upgrade to
SharePoint Server 2013 Enterprise, install the Enterprise License after
the product upgrade.
1. Copying Legacy Databases
At this stage, I
shall assume that you have a
working SharePoint 2010 farm and a new installation of SharePoint 2013
on different hardware (virtual or physical). In this section, I shall
demonstrate the process of setting the legacy databases to read-only,
backing them up, and copying them to the new SharePoint 2013 farm—ready
for upgrade.
For my examples, I have a working SharePoint 2010 farm with the following configuration:
- Two web applications, one on port 80 and another on port 5000
- A team site collection at the root of the port 80 application—“The Intranet”
- A publishing site collection at the root of the port 5000 application—“The Web Site”
- The publishing site collection contains custom branding
- The team site includes an external content type to a SQL Adventure Works database
- The team site includes an external list based on the external content type
- The farm includes a Managed Metadata Store with a default group, term set, and terms, associated with both applications
- I configured a search service for each of the Intranet and Web Site applications
- I configured the User Profile Service and associated it with the Intranet application
Figure 1 shows a screenshot of an example publishing site
with some branding (thanks to Andrew Connell and Andy Drisgill). This
site includes a custom master page, custom page layout, some custom
CSS, and image files.
Figure 2 shows a screenshot from SQL Management Studio for my SharePoint 2010 farm.
I created the databases with prefix ROBDEMO with script when I
established my farm, and the Search Service Application databases via
Central Administration for the purpose of this demonstration.
Recall, that
SharePoint 2013 supports some service application
upgrades via database attach. You can upgrade the business data,
managed metadata, and search administration, as well as your content
databases. Using SQL Management Studio, I shall set each of the
following databases (listed previously in Figure 3) to read-only and
then create a backup of each:
- ROBDEMO_BDC_SERVICE_DB
- ROBDEMO_METADATA
- ROBDEMO_PROFILE
- ROBDEMO_SOCIAL
- ROBDEMO_SYNC
- ROBDEMO_SECURESTORE
- SEARCH_SERVICE_APPLICATION__PUBLIC__DB_GUID
- SEARCH_SERVICE_APPLICATION_DB_GUID
- ROBDEMO_PORTALCONTENT
- ROBDEMO_MYSITES_CONTENT
- WSS_CONTENT_PUB
- ADVENTUREWORKS2003R2
This list includes databases for the content of
my Intranet and public Web Site, My Sites content, the BDC database,
managed metadata database, User Profile Service databases, and the
administration sites for search. Notice that I did not back up the
other search databases because SharePoint 2013 does not support upgrade
of the property database and crawl store.
For those of you unfamiliar with SQL Management Studio, the following steps detail how to set a database as read-only:
- Right-click the database in SQL Management Studio.
- Select the Properties menu item.
- Choose the Options category on the right of the dialog (Figure 3).
- Scroll down to the option for Database Read-Only.
- Set the option to True and then click the OK button.
Repeat the preceding steps for all of the
databases you wish to set as read-only. I recommend that you perform
this operation outside peak usage hours, so that you lessen the impact
on your users.
With the databases
set to read-only, verify that you can continue to use your SharePoint
sites in a read-only state. Follow these steps to create a backup of
each of the aforementioned databases.
- Right-click the database in SQL Management Studio.
- Click the Tasks menu item.
- Click the Backup Sub-task menu item.
- Make sure the backup type is Full.
- Change the location of the backup, if you desire.
- Click the OK button to start the backup.
Note Depending on the size of each database, the backup process might take some time.
After completing the previous steps to backup
each database, you should have a series of backup files in the backup
location specified. If you did not change the default location, your
backup files will reside in the Backups folder within your SQL Server
installation directory. All that remains to complete this section is to
copy the backup files to the new SQL Server, which hosts your SQL
Server 2013 farm.
You might be tempted to go back to your
SharePoint 2010 farm and mark all databases writable again. Remember,
the purpose of marking these databases as read-only is so that the data
restored to the new SharePoint 2013 farm remains current. If you allow
users to write data to your SharePoint 2010 farm, you will have to
repeat the backup process again. Of course, if you are testing the
upgrade process (which you should), setting the production databases
back to writable is necessary to ensure that users may continue to use
your production farm while you test the upgrade process.
Note Do not set SharePoint 2010 database back to writable, unless you are performing a test upgrade.