Curious to see your SharePoint 2007 based CorasWorks applications in action running on SharePoint 2010? If so, you’re not the only one. Since SharePoint 2010 was released many customers have asked for guidance with upgrading their SharePoint 2007 based CorasWorks content to SharePoint 2010. This article was written as a quick and easy guide to help the curious minds with the upgrade and was written in a manner that simplifies the process. I would recommend using these instructions for upgrading content in development and staging environments and ideally environments that can be scrapped and rebuilt. As best practice, I always recommend using a more methodical approach when upgrading anything on a production environment. A good framework to use when planning for a production farm upgrade is Microsoft’s Upgrade Cycle, which incorporates a multi-phased approach (Learn, Prepare, Test, Implement, and Validate) to allow IT Professionals and Developers thoroughly understand their environments before, during, and after an upgrade. More information regarding the SharePoint 2010 upgrade process can be found here.
This document was written in the context of CorasWorks content and therefore instructions on the installation of SharePoint 2010 will be omitted as they are considered outside the scope. The example included in this article uses two SharePoint deployments with SQL and SharePoint on separate servers and is applicable for both SharePoint Foundation 2010 and SharePoint Server 2010.
Upgrading SharePoint Content
In both SharePoint 2007 and SharePoint 2010 all of the web application content is stored in a web application’s content database(s). As in previous versions of SharePoint, in order to upgrade the content of a web application the content database(s) had to be upgraded. However, in the previous versions the process to upgrade a content database(s) was not the most user friendly. In fact, the process was complex, cumbersome, and not to mention lengthy if multiple databases were being upgraded (upgrade was performed serially). In SharePoint 2010 the process has been simplified tremendously and improvements were made to support simultaneous upgrades of content databases (parallel).
The upgrade approach used in this upgrade scenario is the database attach upgrade, which takes a snapshot (via backup) of a web application’s content from a SharePoint 2007 farm and is migrated into a SharePoint 2010 environment.
I. SharePoint 2007 Requirements
In order for content to be successfully upgraded from SharePoint 2007 to SharePoint 2010 the SharePoint 2007 environment hosting the content must be on must be at least on Service Pack 2 (Version 184.108.40.20621). More information on upgrading to SharePoint 2010 can be found here.
Validate that SharePoint meets the version minimum requirements.
1. Navigate to the web application which will be upgraded.
2. Click on “Site Actions” and select “Site Settings”.
3. Ensure that the version of SharePoint is 220.127.116.1121 or higher.
II. Determine the SharePoint 2007 content database name(s) to upgrade
In order to upgrade a web application to SharePoint 2010 we first have to figure out which content database the web application is using. In this example I will be upgrading the content database belonging to a web application with the URL of http://sharepoint.cwtest.local.
The content databases associated with a web application can be viewed within Central Administration. All the instructions in this section are to be performed on the SharePoint 2007 environment.
1. From the server hosting Central Administration open “Central Administration”.
2. Go to the “Application Management” tab.
3. Under the SharePoint Web Application Management section click on the “Content databases” link.
4. The web application with http://sharepoint.cwtest.local has one content database with the name of SharePoint_ContentDB.
III. Backing up SharePoint 2007 content
Once the version of SharePoint has been verified and the content database name has been determined, the next step is to backup the SharePoint 2007 content database(s) from SQL Server Management Studio.
In this example the content database being backed up is the SharePoint_ContentDB database.
1. From the backend SQL server hosting the SharePoint 2007 databases open “SQL Server Management Studio”.
2. Right click on the content database and select “Back Up”.
3. Once the “Back Up Database” window pops up, ensure that the “Database” source corresponds to the appropriate database and that the “Backup type” is listed as “Full”.
4. In the “Destination” field click on the “Add” button and select the destination location of the backup file. I selected the default location as shown below. Click the “OK” button once the destination has been selected.
IV. Restoring SharePoint 2007 Content
1. Once the backup has successfully completed and the backup file (.BAK file extension) has been created, move the backup file to the server hosting the SQL databases for the SharePoint 2010 farm.
2. From the backend SQL server hosting the SharePoint 2010 databases open “SQL Server Management Studio”.
3. Right click on “Databases” icon and select the “Restore Database” option.
4. When the “Restore Database” window opens, select “From Device” as the source and click on the ellipses (“…”) button to navigate to the location of the backup file.
5. Once the backup file and backup set have been selected, the database name can be specified. In this case the backup was restored with the SharePoint2010_ContentDB database name.
6. After the backup has been successfully restored the SharePoint 2010 service accounts must be granted ownership permissions to the restored database. In this example the Server Farm Account (CORASWORKS\sharepointsvc) and Application Pool Account (CORASWORKS\sharepointapp) were granted “Owner” permissions to the SharePoint2010_ContentDB database. To do so expand the “Security” icon, locate the appropriate service account name and double click on it.
7. From within the “Login Properties” window click on the “User Mapping” option.
8. Locate the appropriate database (SharePoint2010_ContentDB), select it and check on the “db_owner” database role membership. Click the “OK” button once the appropriate role has been selected. Follow this process for all the appropriate service accounts.
V. Creating SharePoint 2010 Web Application
The procedure for attaching and upgrading the SharePoint 2007 content database to the SharePoint 2010 farm is a two step process. The first step requires a new web application in the SharePoint 2010 farm to be built using the original web application URL (http://sharepoint.cwtest.local). The second step takes the restored SharePoint 2007 content database and attaches to the SharePoint 2010 farm, which will also upgrade the database and associate it to the newly created web application.
1. To create a web application in the SharePoint 2010 farm open Central Administration and click on the “Application Management” link.
2. Under the “Web Applications” section click on the “Manage Web Applications” link.
3. From the “WebApplicationsList.aspx” page click on the “New” link.
4. In the “Create New Web Application” window populate the required fields. The URL used when creating the web application should the same as the original URL, which in this case is http://sharepoint.cwtest.local.
5. Ensure that the application pool service account with ownership permissions to the restored content database is used when creating the web application pool.
6. In the “Database Name” field enter a descriptive name that will help to identify and locate the database quickly. The database created in this step is temporary and will be replaced with the restored content database from the SharePoint 2007 environment. The name used for the temporary database in this example is Temporary_ContentDB.
7. Once all the appropriate fields have been filled out, click on the “OK” button.
8. On the “Application Created” window click “OK”.
VI. Removing temporary content database
1. In Central Administration click on the “Application Management” link.
2. From the “Application Management” page click on the “Manage content databases” link.
3. Once on the “Manage Content Databases” page click on the temporary content database link (i.e. Temporary_ContentDB).
4. If necessary, change the web application from the “Web Application” drop down (i.e. the URL displayed should be http://sharepoint.cwtest.local).
5. From the “Manage Content Database Settings” page, check the “Remove Content Database” check box and click on the “OK” button.
6. At this point you should be back on the “Manage Content Databases” page, which will no longer have the temporary content database associated with the web application.
VII. Attaching and upgrading SharePoint 2007 content database
In order to attach and upgrade the restored SharePoint 2007 database Power Shell (i.e. SharePoint 2010 Management Shell) or command prompt can be used. For this example I will use command prompt, but more information on how to use the management shell can be found here.
1. On the server running SharePoint 2010 Central Administration open command prompt as an administrator.
2. Change directories to the 14 hive by typing “cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN” from the prompt.
3. To attach and upgrade the restored SharePoint 2007 content database type “stsadm –o addcontentdb –url http://sharepoint.cwtest.local –databasename SharePoint2010_ContentDB”. Quick tip: This upgrade approach supports simultaneous content database upgrades.
4. Once the attach process is complete (100.00% should be shown), go back to the “Manage Content Databases” page and refresh it. At this point, the newly attached content database should be associated with the web application.
5. If the source and destination SharePoint farms are on the same domain then the users from the original configuration should work without any issues. If the source and destination farms are on different domains, then the Site Collection Administrator for the Site Collection(s) must be assigned. This can be done from the “Change Site Collection Administrators” page in the “Site Collection” management, under the “Application Management” section in Central Administration.
VIII. Access upgraded content
Prior to accessing the upgraded content ensure the appropriate DNS entries have been configured for the sharepoint.cwtest.local host pointing to the SharePoint 2010 farm.
1. Once DNS resolution has been verified, open a browser window and navigate to http://sharepoint.cwtest.local web application. The web application should be accessible and since the SharePoint 2010 environment doesn’t have the CorasWorks Suite installed, the pages will display some errors.
2. At this point, install the CorasWorks Suite according to the instructions provided with the installation files or the CorasWorks Community.
3. Once all appropriate CorasWorks components have been installed, the content should display without any errors. It is important to note that interface will continue to display the SharePoint 2007 look and feel until a “Visual Upgrade” has been applied to the site(s).
4. To perform a “Visual Upgrade” click on the “Site Actions” link and select “Visual Upgrade”.
5. From the “Title, Description, and Icon” page select the appropriate “Visual Upgrade” option and click the “OK” button. The recommended selection is the “Preview the updated user interface” option.
6. At this point the upgraded site’s look and feel can be upgraded permanently or rolled back to the SharePoint 2007 look and feel. This setting can be set for a site, site collection, or content for the entire web application.
7. Any customized sites can also be upgraded to the SharePoint 2010 look and feel; however, it is recommended that any mission critical applications be thoroughly tested for upgrade incompatibilities. Once the CorasWorks content is upgraded from SharePoint 2007 to SharePoint 2010, all SharePoint 2010 functionality will be available. However, if you need the SharePoint 2010 look and feel for your CorasWorks applications contact CorasWorks for guidance on an upgrade path.
Hopefully these instructions provide some insight to the SharePoint 2010 upgrade process (at least one of the available approaches) and answer any questions you may have. If you need additional information regarding the SharePoint 2010 upgrade or have any general questions please contact CorasWorks Support.