This weekend I was tasked with upgrading our production CRM system to 3.0 from 1.2. We had successfully upgraded a development server from 1.2 to 3.0 so how hard could the production server be? I think you all know the answer to that one. Here are some tips to get CRM 3.0 up and running in your environment:
- Backup all CRM databases and the web site directory where CRM is installed.
- Check to make sure the SQL server you are using has the correct server name registered as the default instance name. – In our production environment we had changed the name of the SQL server physical server name but never changed the instance name in SQL. To change the SQL instance name read the following article: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_globals_64v9.asp. To determine if you need to change the name run “Select @@servername” against the instance you want to install CRM on. If it doesn’t return the name of your server, read the article above.
- Make sure replication is installed correctly on the server
- If you have any disconnected CRM users, make sure they have synchronized their data before continuing
- Run the 2 crm publishing agents found in SQL enterprise manager->Server->Replication Monitor. If they both generate articles correctly, you may be alright. If you get errors like “sp_MS**** stored procedure missing”, you may have a corrupted SQL server. I re-ran SQL service pack four and it corrected this issue.
- Rebuild the CRM distribution database
- Follow the instructions found here: http://support.microsoft.com/kb/872585/en-us
- Make sure you follow the link to the SQL script to clean up replication object. Run the script against master, _MSCRM and _METABASE databases
- Microsoft has had mixed success with doing upgrades when publishing was enabled. If you can, temporarily disable publishing before starting the upgrade
- Disable any CRM workflows.
- Start the upgrade process. If the validation process succeeds, you more than likely will be ok.
If you run into issues trying to install SQL reporting service and the CRM reports on a server that is using SSL, look at the certificate installed to see if it is a wildcard certificate i.e. “*.yourdomain.com”. If it is, choose to ignore the SQL reports error during setup; yu can come abck and deploy reports later. Perform these additional steps:
- Fix the MSCRM registry key.
- Export the following key: HKLM->Software->Microsoft->MSCRM. File the export away for safe keeping.
- Goto HKLM->Software->Microsoft->MSCRM. Find the SQLRSServerURL value. The url will have the wildcard value if you are using a wildcard SSL certificate. Change the URL to the correct HTTPS url.
- Make sure the RSReportServer.config and RSWebApplication.config files have the correct url to the report server. Search for your wildcard certificate site name in these files. If you find any malformed urls, fix the url and save. The config files should be found in the SQL server application installation directory under /MSSQL/ReportingServices/ReportServer and /MSSQL/ReportingServices/ReportManager directories
- Reconfigure the .NET runtime on the web server to not check SSL site names when connecting to remote servers. Read the following article: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhostingremoteobjectsininternetinformationservicesiis.asp. In the section about using SSL with .NET remoting, you will find a config setting called checkCertificateName. You will have to set this to false on your server.
To republish the CRM SQL reports, do the following:
- Open a command window. Run->”cmd”
- Change directory to the CRM program files Reports installation directory ex. C:\program files\Microsoft CRM\Reports
- There you will find an exe called “PublishReports”. You need to pass two arguments to this program (put quotes “” around both):
- The CRM organization name. This is the name you used when you originally installed CRM
- The SQL reporting group name in the form “domain\name”. you can find this name by opening the AD users and computer snap-in, browsing to the OU where you installed CRM and finding the group called “Reporting Group {}”. Open the properties of this group and copy the group name. Paste it into the cmd window in the form “\”
- Run the program