For some time I’ve been meaning to, wanting to, upgrade my Small Business Server 2003 SP1 server to SBS 2003 R2. The release of CRM 4.0, which requires SQL 2005 has finally pushed me over the edge. But migrating to R2, which includes SQL 2005 Workgroup Edition, isn’t that simple of a matter.
The issue is SQL. It seems that upgrading from SQL 2000 to SQL 2005 isn’t just a matter of putting in the disk and doing an upgrade. No, you have to completely uninstall SQL 2000 and then install SQL 2005 Workgroup Edition from scratch. Once that’s done, the other part of upgrading SBS to R2 is simply a matter of running the R2 Technologies CD install routines.
There are a couple of ‘issues’ with moving from SQL 2000 to 2005 in SBS. The first is the Companyweb SharePoint site that is integral to SBS. The second is moving your Line of Business application (CRM in this case). Luckily I found a web site with some pretty good instructions on doing the Companyweb part and some tips on the LOB part. They can be found on the web here.
The first step is to backup everything. The above article describes how to back up Companyweb. To backup CRM, I used SQL 2000 Enterprise Manager. I backed up both CRM databases, organization_name_METABASE and organization_name_MSCRM, as well as the ReportServer and ReportServerTempDB databases. I also exported all my customizations and all my workflow. One thing I forgot to backup was my web.config. I noticed this once I had CRM back up and running and found CRM was back in AppMode. No big deal for me, but if you have more extensive configurations in web.config, you should save it. Same goes for workflow.config, especially if you’ve added some assemblies for call outs.
The next part is the scariest, uninstalling CRM. Even though I’ve successfully done so a number of times, it always gives me pause when I do it on real data. You can remove CRM using either the CRM install CD or Control Panel Add/Remove Programs. Before I did so, I also removed CRM Exchange E-mail Router and the Data Migration Pack. Note: when you uninstall the E-mail Router, it does NOT remove the deployment rules. But it would be a good idea to use the Rule Deployment Wizard to verify the rules are still intact after you reinstall.
After uninstalling CRM, it was time to uninstall SQL. CRM 3.0 uses the Default instance while Companyweb uses the SHAREPOINT named instance. These must be uninstalled separately. I also uninstalled SQL 2000 Reporting Services. Once SQL 2000 was history, it was time to install SQL 2005 Workgroup Edition. I first installed the SHAREPOINT instance following the instructions mentioned earlier and still found here.
After a few bumps, I got it installed and my Companyweb is back up and running. Then on to installing the default instance of SQL. Be sure to include Full Text Search when you install SQL. I also included SQL Reporting Services but found the install routine was happier installing SRS on a separate pass after SQL had been properly installed. Once installed, I Attached the CRM databases using the SQL Server Management Studio. I then applied the SBS R2 technologies to complete the upgrade to SBS 2003 R2. Before installing CRM, I had to also apply Service Pack 2 for SQL as well as other updates.
Installing CRM is relatively simple if you’ve done it before. Of course the secret is you have to select Custom install and tell it that you want to use existing databases. With SBE you can also tell it you want to include the Exchange E-mail Router and that will be installed at the same time. Be sure to use the same organization name as before. I also recommend you check the Customer Experience check box to help Microsoft make CRM a better product.
Some many people resist this but it really is a good idea and helpful to all. The real problem I had was in getting Reporting Services to work and for the CRM installation program to recognize it. I will not put you through the agony of that process here but suffice it to say that after you install Reporting Services, you must also use the Reporting Services Configuration Manager to configure and initialize Reporting Services.
I finally got it working and CRM installed. CRM 3.0 now resides on SQL 2005 Workgroup Edition and seems to run even faster than before. Just one itsy bitsy little problem: my Reports still don’t work. The Reports Manager does, but when I try to actually run any report, I get an error: Invalid object name 'ReportiServerTempDB.dbo.PersistedStream'. I’m still tracking that down and will blog about it, and perhaps all my other issues with Reporting Services on Larry’s Taco Talk.
I think my problem with Reporting Services is that I used the original RS databases from my SQL 2000 installation. I may have been better off to have simply installed Reporting Services into fresh new databases and let CRM populate them. I may have to uninstall CRM and Reporting Services and reinstall all again to correct. We’ll see. If you do decide to use fresh RS databases, and you have any customer reports, be sure to download and save them before uninstalling CRM. You can then add them back after CRM is up and running.
As mentioned in the title of the article, this is Phase I. Phase II will be the actual upgrade of my now SQL 2005 based CRM 3.0 to 4.0. Since this is SBE, and since Microsoft is supposed to release some further information on CRM and Small Business Server on December 31st, I will no doubt wait ‘til the New Year to do the final upgrade. Stay tuned to Larry’s Taco Talk as I proceed.
Happy New Year!