There are lot of activities to be performed before starting the actual migration. In this post I have covered the most important activities to be completed before the time you are planning to perform the actual database upgrade of SharePoint 2010 to SharePoint 2013
Sl.No | Property |
1 | Planning for Upgrading from SharePoint 2010 to SharePoint 2013 |
2 | Preparing for Migration from SharePoint 2010 to SharePoint 2013 |
3 | Activities to be performed before Upgrade (This Article) |
4 | Steps to be performed during Upgrade |
5 | Post Upgrade steps for migration from SharePoint 2010 to SharePoint 2013 |
6 | Concluding migration from SharePoint 2010 to SharePoint 2013 |
Pre-Requisites:
- Target servers should not have any other version of SharePoint
- Mandatorily apply SP1 or above for the SharePoint 2010 Environment or else Remote BLOB and Workflows might encounter issues after the upgrade.
- Make sure you have the required hardware and software setup.(http://technet.microsoft.com/en-us/library/cc262485.aspx)
- Make sure you have all the language packs installed and up to date.
Test and Clean SharePoint 2010 environment ( http://technet.microsoft.com/en-us/library/ff382641.aspx)
1. Perform Upgrade Check
- Test-SPContentDatabase – To identify upgrade issues in the 2010 environment use 2013 version of Test-SPContentDatabase on 2010 content database. Use the tool available in the link to review the issues which is very helpful(http://blogs.msdn.com/b/chandru/archive/2012/03/11/making-use-of-test-spcontentdatabase-generated-output.aspx)
- Run the above test-spcontentdatbase command on content databases during off-peak load time on the database as it might impact your live environment slightly.
- Issues with content can be identified using the command
- Windows account to claims conversion issues.
- Large Lists that would affect the upgrade process.
- Incorrect authentication providers
- Various configuration issues in the Web Application settings
- Orphaned Sites
- Missing Site Definitions, Customization’s and Features.
2. Features:
- Web Analytics related features should be removed from the Site collections if they are present in the Site Collection. Web Analytics works along with Search in SP2013
- Features related to Office Web Apps like PowerPoint broadcast site will not work in 2013. So those should be removed before the upgrade.
- To Remove PowerPoint BroadCast Sites (Get-SpSite|Where-Object{$_.RootWeb.Template -eq "Powerpoint Broadcast#0"}|Remove-SpSite). This Site Definition will be available if you have installed Office Web Access in your 2010 environment.
3. Authentication:
- Migrate Web Application to Windows Claims if you have used Classic Authentication because in SharePoint 2013, Claims is the only authentication method. (http://technet.microsoft.com/en-us/library/gg251985(v=office.14).aspx). Verify all external data sources work as expected after migrating to the claims environment
- Forms Authentication works without issues if you have the same name for the membership and role providers that you have set for the web application
4. Clean Up:
- Delete Stale sites. Sites that are no longer used. Power shell script can be used to identify the older sites based on the last modified date property of the site to find out whether it is stale or not.
- Upgrade 2007 UI based Site Collections that run on 2010 environment to 2010 mode by Visual upgrade(Get-SpSite|foreach-object{$_.VisualUpgradeWebs()})
- Repair Data Issues
- Perform Orphan Clean Up on all content databases using – stsadm -o databaserepair – deletecorruption
- List delete that are corrupt – stsadm -o forcedeletelist
- Cleanup variations – stsadm -o variationsfixuptool
5. Perform Visual Upgrade of old SharePoint Sites in the SharePoint 2010 farm:
Perform a Visual Upgrade for all the upgraded SharePoint 2007 sites. These will not work if you have not done visual upgrade for older sites. This is usually done when you might have upgraded from SharePoint 2007 to SharePoint 2010 using Get-SPSite | ForEach-Object {$VisualUpgradeWebs()}.
6. Document the below Farm Information required for Manual implementation:
Use the below Upgrade Worksheet from Microsoft to record the important information that will be required to done manually in the new SharePoint 2013 servers
(http://www.microsoft.com/en-us/download/details.aspx?id=30370) – Upgrade Worksheet from MS
- Gather Service Application Settings
- Export MIIS Encryption key for User Profile Service Application. Can be done in Central Admin
- Record Passphrase of the Secure Store Service Application
- Use PowerShell to enumerate to find the Web Application, Site Collection and Content database and record them to validate after the upgrade
- Custom Full Trust(GAC) and Partial Trust Solutions(BIN) to be deployed in the new environment
- Export Admin Deployed InfoPath Form templates and Data Connection files (UDCX)- Export-SPINfoPathAdministrationFiles – Exports to a CAB file
- Export Excel Services Trusted Data Connection files.
- MSI Deployed Third Party Components – Contact Vendor and get the latest solution for the SP2013
- Files that are deployed using XCopy or manually copied into file systems. Consider a moderate effort to be spent in packaging the files into WSP packages.
- Content Databases- That has issues with Orphans and Referenced Customizations
- Farm Web App- Alternate Access Mappings, Authentication Providers, Managed Paths, Installed/Registered features, Installed customizations and Web.Config changes.
- Cross Farm Topology , Search Topology, Logical Topology and Farm Topology
- Use Windiff tool from MS to document the below items
- To Check the Web Server Extensions folder/directory structure in the SharePoint server. Perform it for all App, WFE Servers
- GAC Assemblies in all the APP/WFE Servers
- IIS Web Site Directories on all APP/WFE Servers
- Patch Levels of Windows, IIS, SQLserver and SharePoint
- Take a backup of all the above data which would useful to fix if there are issues after the upgrade
7. Re-organize content to reduce the risk of upgrade failure for content database
If there is more than one site collection per Content Databases and if they are more than 100 GB then it try to divide into multiple content databases by moving Site Collection.
Prepare the new SharePoint 2013 environment
- Build SharePoint 2013 farm based on redesigned topology or as-is topology. Deploy and Activate required features and Services on servers in the farm
- Configure Farm Settings like Blocked File Types, Usage and Health data collection settings, Diagnostic logging e.t.c.. as per your old environment or as per your new farm design.
- Create Service Applications and Proxies in the farm as per your farm topology and use the same settings that you had in the SharePoint 2010 farm.
- Import the MIIS Encryption key that was exported from the SharePoint 2010 UPS and the start the User Profile Synchronization Service
- Secure Store Service – Restore the Passphrase which you used in the SharePoint 2010 environment.
- Create Web Applications with similar SharePoint 2010 Setup.
- Create the required User Policies, IIS Bindings, Authentication providers, AAM Settings, Managed Paths and Web.Config changes, Quota templates, Email settings and Certificates and all Web Application level settings
- Connect the Web application to the service application proxy groups.
- Install Third Party Components, Customization’s, Farm Solutions and Partial trust Solutions
- Deploy required features and installers
- Deploy or Install all required Full Trust or Partial Trust Solutions in all the WFE/APP Servers.
- Configure Office Web Apps server
- Configure Azure Bases services that would require for your new SharePoint 2013 environment (i.e.. Workflow Manager, Access Control Services E.t.c..)
- Make sure you have adequate space for your transaction log files as this might grow during the upgrade process. http://msdn.microsoft.com/en-us/library/ms365418.aspx
- Setup Http to Https redirection modules so that if you have any http based embedded links in office docs or bookmarks of users will continue to work
Preparing for Upgrading Customization’s:
1. Custom Site Definitions
- Upgrade definitions files and Update Onet.xml file
- Turn existing list instances into feature based list instance
2. Customization Security Changes
- No partial trust code solutions (Solutions that are deployed in Bin Directory) need to validate such solutions and update the CAS Policies in the web.config
3. Customization Deployments
- Install 2013 solutions first and then deploy 2010 solutions. Make sure you activate 14 mode features first and then activate 15 mode features
- Update references to _controltemplates and _Layouts folder to point to new 15 hive directory in the custom solutions
- If you plan to support both 2010 and 2013 mode in your farm , then deploy farm solutions to 14 hive and 15 hive folders . In the below command the –CompatibilityLevel parameter decides on which folder to deploy
Install-SPSolution -Identity contoso_solution.wsp -GACDeployment -CompatibilityLevel All
4. Search Customizations:
- Custom solutions that use FullTextSQLQuery will not work and needs to be modified to use with FastQueryLanguage (FQL) or KeywordQueryLanguage (KQL)
Setup Account Requirements for performing the upgrade:
- Active SqlServer Login on the SQL Server
- Account must be member of DB_owner group of the database
- Account must be a member of WSS_Admin_WPG group in the Config database
- Account must be member of farm admin group
- Account must be part of local admins group on the server
That concludes the 3rd part of the series. Building customizations is the important aspect of the preparation and should be well planned. Identify the time required to build the customizations. Try to automate the preparation tasks using PowerShell and it would be a gold source for your environment. Keep updating it using tools like System Center configuration manager.
Leave a comment