SharePoint 2010 Upgrades Presented by Jacob Wilson Principal Consultant, Neudesic About Me • • • • • Jacob Wilson Principal Consultant, Neudesic MCTS, MCITP, MCPD, MCM (Well, Almost) I heart SharePoint! http://sharepoint.jacobtwilson.com Agenda • • • • • • • • The Basics Tools and Commands Upgrade Pipeline Upgrade Planning Pre-Upgrade The Upgrade Post-Upgrade Conclusion About • This presentation focuses on the database attach process of SharePoint 2010 upgrades • Why? – Most common – Most complex – More fun The Basics Supported/Unsupported Paths • Supported Topologies Starting topology (Office SharePoint Server 2007) Supported ending topology (SharePoint Server 2010) Unsupported ending topology (SharePoint Server 2010) Stand-alone server with SQL Server 2005 Express Edition Stand-alone server with Microsoft SQL Server 2008 Express Any farm Single server with SQL Server Single server with SQL Server Stand-alone server with Microsoft SQL Server 2008 Express Any size farm Any size farm Stand-alone server with Microsoft SQL Server 2008 Express Supported/Unsupported Paths • Supported Editions Starting edition Supported ending edition Unsupported ending edition Office SharePoint Server 2007 with SP2, Standard edition SharePoint Server 2010, Standard edition SharePoint Server 2010, Enterprise edition SharePoint Server 2010, Standard edition SharePoint Server 2010, Enterprise edition Office SharePoint Server 2007 with SP2, Enterprise Edition SharePoint Server 2010, Enterprise edition SharePoint Server 2010, Standard edition. This path is also not supported for database attach upgrades. Office SharePoint Server 2007 with SP2, Trial edition SharePoint Server 2010, Trial edition SharePoint Server 2010, full product SharePoint Server 2010, Trial edition SharePoint Server 2010, full product Supported/Unsupported Paths • Supported Cross-Product Starting product Supported ending products Unsupported ending product Windows SharePoint Services 3.0 with SP2 Microsoft SharePoint Foundation 2010 SharePoint Server 2010 (by using database attach upgrade only) SharePoint Server 2010 (by using inplace upgrade) SharePoint Foundation 2010 SharePoint Server 2010 Microsoft Search Server 2008 SharePoint Server 2010 or Microsoft Search Server 2010 SharePoint Foundation 2010 Microsoft Office Forms Server 2007 SharePoint Server 2010 SharePoint Foundation 2010 Microsoft Office PerformancePoint Server 2007 SharePoint Server 2010 Microsoft Office Project Server 2007 with Windows SharePoint Services 3.0 with SP2 or Office SharePoint Server 2007 with SP2 SharePoint Server 2010, Enterprise Edition plus Microsoft Project 2010 SharePoint Foundation 2010 plus Project 2010 System Requirements • Hardware Requirements (SharePoint 2010) – Really depends on usage, RPS, and other factors but here are some base numbers to start • 64 bit 4+ cores • 8GB+ RAM • 80GB+ Disk Space – – – – Diagnostic Logs Usage Logs Index Files Page File Size (1.5x Physical RAM) System Requirements • Software Requirements (SharePoint 2010) – x64 Windows Server 2008 or 2008 R2 – x64 SQL 2008 R2, SQL 2008 SP1 CU2, SQL 2005 SP3 – All of the SharePoint 2010 prerequisites • Don’t fit on this slide System Requirements • SharePoint 2007 Requirements – Service Pack 2 • No In-Place or DB Attach upgrade without it – October 2009 CU • Why? • Updates to stsadm –o enumallwebs – Web parts, event receivers, features, setup files • Updates to stsadm –o preupgradecheck – Improved reports and rules Affected Services • In-Place – Service Applications Created Automatically • Search, User Profile, Excel Services, Business Connectivity Services (Application Registry Service for backwards compatibility) • DB Attach – Must Manually Create Service Applications Affected Services Service In-Place DB Attach Search Configuration Settings and Index preserved Must start from scratch User Profiles Auto upgraded Upgraded when attach SSP database to UPA Persisted Properties lost (MySiteHostURL, SearchCenterURL, EnablePersonalFeaturesforMultipleDeployments, ProfileStoreLanguage, ProfileStoreLanguagePacksApplied, ProfileStoreCollationID, DaysWorthOfEventsToKeep) Move-SPProfileManagedMetadataProperty Move-SPProfileManagedMetadataProperty MySites Auto Upgraded Attach and Upgrade as same time as Intranet Web Application Excel Settings preserved Must start from scratch InfoPath Admin Templates and Data Connections preserved Manually export and import Admin Templates and Data Connections BDC Models preserved Models must be exported and updated to use new object model and features of the Business Connectivity Services SSO PowerShell to upgrade application definitions from SSO to SharePoint 2010 Secure Store PowerShell to upgrade application definitions from SSO to SharePoint 2010 Secure Store Affected Services • Search System Architecture – – – – – – – Index Partitions Crawl Components Query Components Search Administration Database Property Database Crawl Database Software Boundaries and Limits • Search Center Sites – Look and feel Upgrade Approach • In-Place (Not the focus of this presentation) • Database Attach • Hybrid Approach – DB Attach with Read-Only Databases – In-Place with DB Attach • Visual Upgrade – UIVersion 3 or 4 – Give users the option to choose? The Basics • Site Templates – .STP vs .WSP – Must re-create • Master Pages – Must re-create • Site Definitions – Should I re-create using Web Templates • Blocking vs. non-blocking – test-spcontentdatabase • Slide Libraries – Open XML changes vs. Re-add slides – Only occurs when moving to a new URL Tools and Commands Pre-Upgrade • • • • • • • • • • • STSADM –o preupgradecheck STSADM –o enumallwebs STSADM –o gl-replacefieldvalues STSADM –o gl-replacenavigationurls STSADM –o gl-applytheme STSADM –o gl-setmasterpage STSADM –o mergecontentdb STSADM –o deletesite STSADM –o databaserepair test-spcontentdatabase WinDiff or WinMerge – Hive comparison, IIS directory comparison, etc. • 3rd Party During Upgrade • test-spcontentdatabase – Yes, run this again on the production farm • mount-spcontentdatabase – V2V upgrade • upgrade-spcontentdatabase – B2B upgrade – Resume interrupted V2V upgrade • Upgrade Logs • SharePoint Upgrade Status in CA • SharePoint Health Analyzer Post-Upgrade • • • • • • • SPWebApplication.MigrateUsers($true) STSADM –o localupgradestatus STSADM –o gl-fixpublishingpagespagelayouturl move-SPProfileManagedMetadataProperty update-SPProfilePhotoStore update-SPInfoPathAdminFileUrl PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures • SharePoint Health Analyzer • Database Shrink Other Tools • Microsoft Management Console – No need for all of those RDP windows • Upgrade Log Parser – http://upgradelogparser.codeplex.com/ Upgrade Pipeline Pipeline Registration • XML Configuration Files – 14\Config\Upgrade – Range of product versions and schema versions to which an upgrade applies – Target Assembly for Upgrade – Map files to the new 14 hive structure – Deprecate Features – Specifies Upgrade Order Configuration File Example • OsrvUpgrade.xml • <Config xmlns="urn:Microsoft.SharePoint.Upgrade"> <Assembly Name="Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Order>3</Order> </Assembly> <FeatureUpgrade> <DeprecateSimpleFeature Scope="Farm" Id="20529D124961-42af-966C-EC75A6AC8AAE"/> </FeatureUpgrade> </Config> Pipeline Hierarchy & Execution • Microsoft.SharePoint.Upgrade • Upgradeable Resource (System.Object) • Upgrade Sequence (SPSequence) – Upgrade a specific object type in the server farm • Upgrade Action (SPAction) – Describes an upgrade transformation • Hierarchy Manager (SPManager) – Manages upgrade sessions Upgrade Sequences • Cannot overwrite or append to default upgrade sequences • Consists of one or more upgrade actions • Execution order based upon order defined in configuration files – Starts with lower levels first (i.e. Database before Site) • Provides check-pointing to allow resumption of upgrade Types of Sequences • SPSequence – Abstract class for all upgrade sequences • SPActionSequence – Upgrade sequence that uses upgrade actions • SPIISWebSiteSequence – Upgrade sequence for IIS Site • SPDatabaseSequence – Upgrade sequence for database • SPSiteSequence – Upgrade sequence for site collection Upgrade Actions • Actions for upgrading specific objects – – – – – IIS Web Sites Databases Site Collections Web Applications Servers • Version attribute – Sorting upgrade actions – Specifies whether a upgrade action needs to run – Helps with resuming interrupted upgrades • Action updates object schema with action version number on success Types of Actions • NarrowCIStage1and2 – Changes content indexes, drops and re-creates indexes for content databases • UpgradeAllDocStreamsAndAllDocVersions – Where upgrade seems to hang at 18.67% – Moves documents from AllDocVersions table to AllDocStreams table • UpgradeReghostAction – Resets site to site definition – Removes SPD customizations added to page Upgrade Planning The Bigger Picture • • • • • • • • Communications Plan Yes, there are other things Training Plan to consider. Early Tester/Pilot Group Pre-Upgrade Activities Upgrade Activities Post-Upgrade Activities Ongoing Support Monitoring & Maintenance Pre-Upgrade Preparations • Farm Survey – Stsadm –o preupgradecheck • • Web parts, features, setup files, language packs, custom solutions, orphan sites, orphan objects, database schema, event receivers SharePoint 2010 Production Farm Planning & Configuration – Move to Claims • • Migrate Users FBA (Re-configure Membership and Role Providers in web.config) – Disable Auto Workflow Cleanup • If disabled in the 2007 environment make sure to disable in the 2010 environment or you may lose workflow associations when you upgrade – Load Test Production • Visual Studio 2010 – Developer Dashboard • On, Off, OnDemand – Diagnostic Providers – Health Data and Usage Collection – Caching • BLOB, Object, Output Preparations • TEST, TEST, TEST!!! – test-spcontentdatabase • Restore MOSS 2007 production databases to test for testing the preupgrade process • Test database upgrade process in 2010 test farm – Helps with gathering metrics and catching any missing dependencies – Early Testers/Pilot Group • Capture issues that will need to be resolved in Production as the result of user testing Pre-Upgrade Issue Resolution • Orphan Sites – Stsadm –o deletesite –id “guid” – Use stsadm –o enumallwebs to recover site id • Orphan Objects – Stsadm –o databaserepair –deletecorruption – Stsadm –o deletecontentdb – Stsadm –o addcontentdb • Database Schema – Stsadm –o mergecontentdbs • Missing Features – Stsadm –o deactivatefeature –id “guid” – Use stsadm –o enumallwebs –includefeatures to determine where features are referenced Pre-Upgrade Issue Resolution • Missing Web Parts – Web Parts Maintenance Page (…default.aspx?Contents=1) to Remove Web Part – Use stsadm –o enumallwebs –includewebparts to determine where web parts are referenced • Missing Setup Files – WinDiff or WinMerge – Deploy Solutions – Manually Copy Files • 12 Hive and IIS Directory Differences – WindDiff or WinMerge • Large Lists – Adjust custom views to display less than 5K items (configurable) • Custom List Views – Adjust custom views to display less than 8 lookup columns (configurable) – Lookup and People/Group columns count as a lookup column Other Considerations • Verify Database Backups • Custom Solutions – Remove or keep? • Does SharePoint 2010 functionality remove the need for home grown solutions • If you decide to keep do you upgrade or move as is? – Sandbox or Farm? • Code only executes in a Site Collection (Sandbox) • 3rd Party Solutions – Remove or keep? • Does SharePoint 2010 functionality remove the need for any 3rd party solutions • Branding – Reset vs. Re-create? • If you decide to reset (gl-applytheme and gl-setmasterpage) Other Pre-Upgrade Considerations • Move to a new URL? – – – – – – – – – InfoPath Data Connections Office Client Application Data Connections External Applications with Link Dependencies Slide Library Links Navigation Portal Site Connection Publishing Page Layout Links List Item Links (gl-replacefieldvalues) Current and Global Navigation (glreplacenavigationurls) The Upgrade The Upgrade • Test-spcontentdatabase – Yes, run this again on production • Mount-spcontentdatabase – V2V Upgrade – Don’t run more than 3 sessions at a time (~40% overhead) • Upgrade-spcontentdatabase – B2B Upgrade – Resume interrupted V2V Upgrade • Monitor Status – ULS Logs – Upgrade Status in CA • Attach Once – Site Orphans • Upgrade Windows and SLA’s The Upgrade • • • • Grab a cup of Joe Get some sleep Get a massage Your only time to relax a little bit Post-Upgrade Post-Upgrade • Classic Mode to Claims – SPWebApplication.MigrateUsers($true) – IISRESET across WFE servers • User Profiles and MySites – move-SPProfileManagedMetadataProperty • Multi-value properties to managed metadata database – update-SPProfilePhotoStore • Update profile pictures – Convert private link to private tag • http://my_site_url/_layouts/myquicklinks.aspx • InfoPath Form Services – Administrator approved templates • update-spinfopathadminfileurl – Updates InfoPath form links – Non-Administrator approved templates • Form template links and data connections to SharePoint Post-Upgrade • Alerts – Not firing after upgrade • Publishing Page Layout URL’s – STSADM –o gl-fixpublishingpagespagelayouturl • Visual Upgrade – UIVersion = 3 or 4 – UIVersionConfigurationEnabled = true or false • Adjust List Throttling Thresholds – List items per view – Lookup columns per view • URL Redirection – Only if moving to new URL – IIS Redirect (http://newurl$V$Q) Post-Upgrade • Other Considerations – – – – – – Update portal site connection (moving to new URL) Don’t forget to run a full crawl SharePoint Designer Settings Site Quotas Monitor performance Re-enable Auto Workflow Cleanup • Only if you disabled to begin with due to MOSS 2007 settings – Apply issue list resolutions from Test – XSLTViewerWebPart • Replaces the ListViewWebPart – Style Formats for Tables in Content Editor Web Parts – Office Client Application Links – Site Collection Feature “Open Documents in Client Applications by Default” • Not using Office Web Applications 2010 (OWA/WAC) Post-Upgrade • Verify Upgrade Status – – – – Manage servers in farm STSADM –o localupgradestatus Upgrade logs SharePoint Health Analyzer • Resolve Upgrade Issues – PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures – Upgrade-spcontentdatabase Upgrade Status Post-Upgrade • Database Operations – Update compatibility mode • If moving from SQL 2005 or lower to SQL 2008 – Shrink databases (2 or more times) to remove unused space • Can increase 50% or more as the result of the upgrade process – Re-index databases • SQL side not SharePoint – Schedule database backups Conclusion Conclusion • WOW! There’s a lot of things to do. • The actual upgrade is the easy part, its the pre-upgrade and post-upgrade activities that consume the most time and require the most effort • Don’t be afraid References and Resources References • Supported Upgrade Paths – http://technet.microsoft.com/en-us/library/cc262747.aspx • System Requirements – http://technet.microsoft.com/en-us/library/cc263322.aspx • Affected Services – http://technet.microsoft.com/en-us/library/cc263403.aspx – http://technet.microsoft.com/en-us/library/ee731990.aspx • Upgrade Object Model – http://msdn.microsoft.com/en-us/library/ms441632.aspx • Perform Database Attach Upgrade – http://technet.microsoft.com/en-us/library/cc303436.aspx – http://technet.microsoft.com/en-us/library/cc303434.aspx Resources • Upgrade Resource Centers – http://technet.microsoft.com/en-us/sharepoint/ee517214 – http://msdn.microsoft.com/en-us/sharepoint/ee514557