I have recently been involved in upgrading an old SharePoint 2003 intranet, with minimum customization, to MOSS 2007. At first on reading the documentation this seemed like a relatively easy process. According to the documentation the basic steps are:
- Install MOSS on the new server.
- Create a new website in IIS on the new server.
- Copy over all customizations, in my case none.
- Configure the new farm i.e mail settings, services on the servers in the farm.
- Run prescan.exe on the SharePoint 2003 content database.
- Mark the existing content db as read only to prevent additional content being added.
- Backup the database and restore it onto the new database server.
- Create a new web application; pointing it to the new website created in step 1 and change the database name to the one you restored.
- Click OK.
According to the instructions it will now go away and upgrade the old content database to MOSS 2007. Unfortunately after following all the steps I encountered 88 errors during the upgrade process. The error message I received was complaining about a webpart on peoples my sites but after much searching the internet I found only one article with the same problem, however they had not come up with a solution either. Thankfully my sites were not used very often and the content was often out dated. As a result I was able to get around this by deleting all my sites from the content database. Obviously this is not an idea solution as in most cases if you are performing an upgrade then people may want to take content across from their my site so if anyone has encountered this problem before and knows a better solution then please leave a comment.
To get the upgrade working I not only had to delete all my sites from the web table in the database but also remove all references from other tables as well. This was a bit tricky as the WebId is referenced in multiple tables so i checked each table and if there was a reference to WebId I ran an SQL script to delete all entries from that table which were in the web table and are a my site, see script below.
Delete
FROM WebMembers
WHERE (WebId IN
(SELECT Id
FROM Webs
WHERE (FullUrl LIKE 'personal/%')))
After doing this I re-tried the upgrade and everything went ok. Again this could potentially be an issue if you want to keep the my sites from the SharePoint 2003 site. As mentioned earlier if you know another way around this then please let me know.
Some other site I found useful for upgrade were:
http://alancoulter.blogspot.com/2007/05/ms-advantages-sps-to-moss-2007-upgrade.html
http://joeloleson.spaces.live.com/Blog/cns!B05AD15E2DE730DD!364.entry
http://geekswithblogs.net/RogueCoder/archive/2007/05/08/112343.aspx
http://www.sharepointblogs.com/johnwpowell/archive/2007/07/12/migrating-sharepoint-portal-2003-database-to-sharepoint-2007-using-content-database-migration.aspx
http://technet.microsoft.com/en-us/library/cc263299.aspx