SharePoint 2013: Upgrade a Site Collection (User Interface and PowerShell)
Introduction
This article will explain how to upgrade a site collection to SharePoint 2013, by using the user interface and PowerShell.
I consider here that my site collection has already been migrated to the SharePoint 2013 server and is in actually in "SharePoint 2010" mode, like this:
http://spasipe.files.wordpress.com/2012/09/74.png?w=600&h=400
I divided the functionalities in different "Points", each of them having a * PowerShell * section which will detail the available modifications or interactions by using PowerShell.
Point 1: Self-service site upgrade
To access the self-service upgrade options, your site collection must be eligible, and must also respect 2 rules defined at the web application level:
- A maximal size (10 MB by default),
- A maximum number of sites (10 by default).
Site one rule is not respected, you had to migrate via PowerShell.
* PowerShell *
- Get the web application parameters
$webApp = Get‐SPWebApplication < Web Application URL >
$webApp.SiteUpgradeThrottleSettings
http://spasipe.files.wordpress.com/2013/05/11.png?w=595&h=232
- Modify web application parameters
$webApp = Get‐SPWebApplication ‐URL < Web Application URL >
$webApp.SiteUpgradeThrottleSettings.UsageStorageLimit = <value>
$webApp.SiteUpgradeThrottleSettings.SubwebCountLimit = <value>
$webApp.Update()
Point 2: The notification bar
The notification bar at the top of the site displays a message indicating that the site can be migrated.
Two options are available:
- "Start now": Access to the page which allow to migrate the site or request an evaluation site,
- "Remind me later": Hide the notification bar, for 30 days (by default).
* PowerShell *
1. Prevent users from using the self-service upgrade:
$site = Get-SPSite <URL>
$site.AllowSelfServiceUpgrade = $FALSE
2. Changer the reminder delay / force upgrade
$webApp = Get‐SPWebApplication < Web Application URL >
$webApp.UpgradeReminderDelay <Number of days>
$webApp.Update();
If you set the "UpgradeReminderDelay" parameter to 0:
- The link to hide the notification bar is removed,
- The message indicates that the upgrade is now required.
http://spasipe.files.wordpress.com/2013/05/2.png?w=595
Point 3: The Health Checks
The "Health Checks" are a major step of the migration, because they will identify the potentials problems:
- Conflicting content types,
- Customized/unghosted files,
- Missing galleries,
- Missing parent content types,
- Missing site templates,
- Unsupported language pack references,
- Unsupported MUI (multi-user interface) references.
Note that these Health Checks can be executed before and after the site collection upgrade.
To execute the "Health Checks":
1. Click on "Site collection health checks" link in the "Site Settings":
http://spasipe.files.wordpress.com/2012/09/122.png?w=241&h=309
2. Click on "Start checks" to launch the process.
http://spasipe.files.wordpress.com/2012/09/131.png?w=600&h=76
3. A summary is displayed, in our case 2 problems have been found:
- The "Video" content type is in conflict with the new one – Delete or rename it,
- A webpart definition is considered as customized file – In this case you can fix this problem by clicking on "Reset page to default".
http://spasipe.files.wordpress.com/2013/05/3.png?w=595&h=364
When you click on the "Reset page to default" link, you can choose to reset a specific page or all pages in the site by using the existing site template.
http://spasipe.files.wordpress.com/2013/05/4.png?w=595&h=158
* PowerShell *
- Test‐SPSite : Launch the Health Checks on a site collection, with the ability to choose a specific rule to be verified.
Test‐SPSite ‐Identity <SiteURL> [‐Rule <RuleID>]
- Repair‐SPSite : Launch the repair, with the ability to choose a specific rule to be repaired.
Repair‐SPSite ‐Identity <SiteURL> [‐Rule <RuleID>]
Point 4: Access the migration / Evaluation site collection request page
Click on "Start now":
http://spasipe.files.wordpress.com/2012/09/221.png?w=595
To access the migration page:
http://spasipe.files.wordpress.com/2012/09/84.png?w=536&h=283
Point 5: Evaluation site request
One new capability in SharePoint 2013 is to request an upgrade evaluation site, which will be a copy of your site, in SharePoint 2013 version.
This site will be available during 30 days (by default and configurable), before being deleted by a timer job (1 for each web application).
http://spasipe.files.wordpress.com/2013/05/5.png?w=595&h=277
Note : No data will be replicated from the « source » site to the copy, or the opposite; users should also be aware of the fact that this site is "short-lived".
Concerning the evaluation site creation, 2 possibilities:
- You SQL Server version supports snapshots (Enterprise or Datacenter version) and in this case a snapshot will be used,
http://spasipe.files.wordpress.com/2013/05/6.png?w=595
- If not, a backup-restore will be used, and your site collection will be read-only during the backup phase.
From the interface:
1. Click on "TRY A DEMO UPGRADE" to request a site evaluation request:
http://spasipe.files.wordpress.com/2012/09/92.png
2. Click on the button :
http://spasipe.files.wordpress.com/2012/09/101.png?w=503&h=179
3. Site collection administrator(s) is/are alerted by email when the upgraded copy is available.
http://spasipe.files.wordpress.com/2012/09/112.png?w=501&h=150
Why a day or two ? Because the creation process are managed by timer jobs (1 for each web application) which runs once a day:
http://spasipe.files.wordpress.com/2013/05/7.png?w=595
* PowerShell *
- Evaluation site request
Request‐SPUpgradeEvaluationSiteCollection ‐Identity <Site collection URL>
Point 6: Site upgrade
1. On the migration page, you can launch the upgrade by clicking on "Upgrade this Site Collection"
http://spasipe.files.wordpress.com/2012/09/211.png?w=595
2. A message is displayed, inviting the user to request an evaluation copy, if he hasn’t “played” with it before.
http://spasipe.files.wordpress.com/2012/09/151.png?w=595
3. The migration starts, with the possibility to add a link in the status bar, with the "UpgradeMaintenanceLink" web application property.
Example :
http://spasipe.files.wordpress.com/2013/05/8.png?w=595&h=61
Result :
http://spasipe.files.wordpress.com/2013/05/10.png?w=595&h=37
Note: The link opens in the current page.
Point 7: End of the migration
1. The migration ends, a summary page is displayed:
http://spasipe.files.wordpress.com/2012/09/181.png?w=600&h=228
With :
- A link to log files (verbose + errors/warnings), stored in a hidden library named "Maintenance Log Library",
http://spasipe.files.wordpress.com/2013/05/111.png?w=595
- A "What’s New" button which opens a help page,
- A "Let’s see the new site" button which opens the homepage.
2. The upgraded site is displayed correctly
http://spasipe.files.wordpress.com/2012/09/191.png?w=595
* PowerShell *
- Launch a site collection upgrade, even if throttling limits are reached,
Upgrade-SPSite <Site collection URL> -VersionUpgrade -Unthrottled
- Launch a site collection upgrade, with queuing the upgrade
Upgrade-SPSite < Site collection URL > -VersionUpgrade -QueueOnly
Point 8: Upgrade queue management
Last but not least, the SharePoint administrator can manage the upgrade queue, only with PowerShell !
- Site collections in the queue (Note the ShowInProgress / ShowCompleted / ShowFailed parameters)
Get-SPSiteUpgradeSessionInfo -ContentDatabase <Database name> -ShowInProgress -ShowCompleted -ShowFailed
http://spasipe.files.wordpress.com/2013/05/12.png?w=595&h=56
Several informations are displayed (the image is just an extract):
http://spasipe.files.wordpress.com/2013/05/13.png?w=595&h=141
- Site collection upgrade status
Get-SPSiteUpgradeSessionInfo -Site < Site collection URL>
For the informations displayed, see the screenshot above.
- Add a site collection in the queue
Upgrade-SPSite < Site collection URL> -VersionUpgrade -QueueOnly
- Remove a site collection from the queue (if it’s not being upgraded)
Remove-SPSiteUpgradeSessionInfo -Identity < Site collection URL>
Point 9: Throttling
- Number of simultaneous upgrades allowed per application pool
$wa = Get‐SPWebApplication ‐URL < Web Application URL >
$wa.SiteUpgradeThrottleSettings.AppPoolConcurrentUpgradeSessionLimit=<Value>
- Number of simultaneous upgrades allowed per database
$db = Get-SPContentDatabase <Database name>
$db.ConcurrentSiteUpgradeSessionLimit
- Maximum size to allow self-service upgrade
$wa.SiteUpgradeThrottleSettings.UsageStorageLimit=<Value>
- Maximum number of sub-sites to allow self-service upgrade
$wa.SiteUpgradeThrottleSettings.SubwebCountLimit=<Value>
References
Other articles
This article is part of a series of articles dedicated to the Migration to SharePoint 2013.
They are actually written in French and hosted on my blog, but I will translate and transfer them on the TechNet Wiki.
- How upgrade to SharePoint 2013 ?
- SharePoint 2013 : Migrate a simple SharePoint 2010 site
- SharePoint 2013 : Migrate a simple SharePoint 2007 site
- Migrer vers SharePoint 2013 : Upgrade des collections de sites (UI et PowerShell) (This article)
- SharePoint 2013 : Prepare the migration of specific developments