Use very graphical slides. All notes are included in a PDF at the end of the presentation. Will send out link to presentation
Pre-Upgrade (Detective Work) Gather authentication providers and authentication modes that are being used Incoming and Outgoing E-mail Customizations Use stsadm -o enumallwebs -includefeatures, -includesetupfiles, includewebparts, -includeeventreceivers, -includecustomlistview Check for orphans Stsadm -o databaserepair DON'T use -deletecorruption at first, let the tool give you a report Certificates
Pre-Upgrade (Clean out the Cobwebs) Get 2007 to SP3 and 2010 to SP2
So this is your typical SharePoint database…not very big with one or more site collections. Nothing to worry about.
Site collections about 100GB should be in a content database by themselves. You can move site collections to different databases. For 2007: for normal general collaboration usage of SharePoint, site collections should not exceed 100GB (soft limit) Main purpose is for backup and recovery.
In general for 2010, for normal general collaboration usage of SharePoint, site collections should not exceed 200GB (soft limit) Good database sizing article: http://technet.microsoft.com/en-us/library/cc298801.aspx Get databases properly sized (overall size and number of site collections) Lots of SCs: more than 5,000, get back down to about 1,000 per content database 2013 gives warning at 2,000 and has a limit of 5,000
Do SQL database maintenance (DBCC CHECKDB, rebuild indexes (80 fill factor) Standard version will take indexes offline Remove PowerPoint Broadcast Sites Large lists More than 5,000 items or views with more than 8 special joins Talk about not changing settings (bad, bad, bad) Talk about indexing or using search Give example of a small list may use a group by off of calculated column but a large list may have a workflow that runs calculation on updates and stores permanently. Wide lists (row wrapping)
Throw out any unused stuff In 2010, check for 2010 sites that are still using visual upgrade (PowerShell)
If need to convert masterpage, http://startermasterpages.codeplex.com/ is a good start. Add to and then test regularly. Don't try to build whole master page and then test. If public facing, you can use www.modern.ie to test pages for IE compatibility Review new options and settings and determine how you want to use and set them. Review What’s New articles
Only option is database attach or third-party migration tools. Set up a test farm Note changes to recommended architecture Position of service applications Use Claims (it is the default and works) Host-named site collections and single web application Use separate service accounts model including separating farm and setup account. Use the same URLs as the real farm (update HOSTS file) Use different names for servers than the real farm Use a separate SQL server (don't cross the streams) Use AutoSPInstaller and AutoSPInstallerGUI Make search service account administrator during farm setup Document and move over CA settings. Use something like WinDiff or BeyondCompare to compare real hive with test hive Do NOT configure outbound e-mail except with great care Did you turn off Workflow Auto Cleanup timer job? If so, turn off in 2013
Install customizations Talk about compatibility switch Install-SPSwitch -CompatilityLevel The default behavior if this parameter is not specified is to install the solution only to the version directory based on the version tracked in the manifest of the solution's cab file. If at 2010, upgrade to claims on the 2010 side first. It at 2007, wait. Verify success in 2010 environment Use Convert-SPWebApplication
Upgrade databases Move over databases using SQL Backup and Restore Be sure to either restore using the farm account or use ALTER AUTHORIZATION to change the DBO before you connect to SharePoint If you don't, disconnect, drop user and make DBO. Upgrade service application databases From 2010 to 2013, recommend you can upgrade BDC, Managed Metadata, PerformancePoint, Secure Store, Search (don't recommend usually), User Profile (prefer UPRE if no MySites). From 2007 to 2013, recommend you can upgrade BDC, Secure Store, User Profile (lots of work and likely not worth it) Run test-spcontentdatabases Review what they find and need to fix and how to fix-tells them about missing customizations Upgrade database Talk about how to go from 2007 to 2013 and that you only upgrade database 2013 Review logs Can restart upgrades using "upgrade-spcontentdatabase" Upgrade to claims if coming from 2007 (see above) Can use MigrateUserstoClaims property if only doing single database Upgrade site collections Talk about options, gui versus PowerShell Talk about straight conversion versus test upgrade process Review logs-placed in the site collection and the log directory of the server which ran the upgrade (these logs have more detail). Site won't render? Try going to /_layouts/settings.aspx to see if SC is working in general Test all important and high traffic sites but you can't test it all Will talk about some tools that will help later Rinse and repeat until all issues are addressed-in most cases, it will take several times
Resolve Issues Tools to gather information Microsoft IIS Log Parser and GUI tools http://www.microsoft.com/en-us/download/details.aspx?id=24659 http://www.lizard-labs.net/log_parser_lizard.aspx http://visuallogparser.codeplex.com/ Analytics (SharePoint, WebTrends, Google, etc.) Tools to find problems Duplicates List Field Scripts http://blog.sharepoint-voodoo.net/?p=142 HTTrack: used to dump site to all HTML http://www.httrack.com/ WAPT: Load Testing Tool http://www.loadtestingtool.com/index.shtml XENU: Find Broken Links http://home.snafu.de/tilman/xenulink.html Tools to Fix Problems Correlation IDs are your friend in 2013! Travel all the way back to the SQL server Consistent across all servers in farm Use Merge-SPLogFile to gather logs from across multi-server farm Developer Dashboard is your friend! To turn on, you need the Health and Usage Application service application configured Use this PowerShell $svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $dds = $svc.DeveloperDashboardSettings $dds.DisplayLevel = "On" $dds.Update()
ULS Viewer http://archive.msdn.microsoft.com/ULSViewer SharePoint Manager http://spm.codeplex.com/ Feature Administration and Clean Up Tool http://featureadmin.codeplex.com/ Telerik's Fiddler http://www.fiddler2.com Reflectors Telerik's JustDecompile http://www.telerik.com/products/decompiler.aspx ILSpy http://ilspy.net/ Large Text File (LTF) Viewer http://www.swiftgear.com/ltfviewer/features.html
Not free but good tools TFS and the Microsoft Feedback Client http://msdn.microsoft.com/en-us/library/vstudio/hh362461.aspx Atlassian's JIRA and JIRA Capture https://www.atlassian.com/software/jira/#! https://www.atlassian.com/software/jira-capture/overview Beyond Compare http://www.scootersoftware.com/moreinfo.php
Things to know Upgrade speed is going to be effected by number of site collections, sites, lists, rowspan within list, document versions, documents, links or large databases over 100GB If upgrades take a long time, use Upgrade Logs to determine what pieces are taking longest time and see if items can be cleaned up from database. Upgrade speed is greatly determined by storage performance. Record how long it takes along the way. Needed to make a reasonable upgrade schedule. Ensure you have a rollback plan and know what time to back out.
Notes from the Field
JD Wade, Lead SharePoint Consultant, MCTS, MCSE
• Cleaning Up
• Conversion Work
• How to Test Upgrade
• Resolve Issues
• Don’t Forget
• Detective Work