The project involved the upgrade of a Windows SharePoint Services (WSS) 3.0 system using an internal database to SharePoint 2010 Enterprise version with a dedicated SQL Server 2008 R2 database. We always create a step-by-step plan to enable the migration/upgrade to go smoothly. Since we were using new servers, we were able to do extensive testing before the actual upgrade. Part of our process is to test upgrade more than once and acquire new skills along the way. As policy, we always run Pre-Upgrade Check which allows us to deal with and solve any minor issues prior to the upgrade. Since some sites use permission inheritance and some do not, we created a spreadsheet to itemize the permissions and then manually set up permissions in the new SharePoint to match those in the old SharePoint. At one point, we moved from one SQL Server to another. This forced us to devise how how to create new configuration databases without having to reinstall SharePoint. We created all the SharePoint databases without the GUIDs at the end of their names and used Alternate Access Mapping and DNS to point the old portal name to the new portal. Overall the upgrade and migration went very smoothly, with little need for troubleshooting after upgrade.