Upgrading Dynamics CRM 2016 to SQL2016

Recently I upgraded an MSCRM 2016 environment from SQL2014 to SQL2016. This is supported since SQL 2016 CU2, but after the upgrade, I found that it broke the integration with Reporting Services. I got it working again eventually (partly based on the information provided here), but it required a few illogical steps that I would like to share with you.

I’m using MS CRM 2016 Update 2 (v8.2, or Dynamics CRM 365 as it’s called since this version) in an on-premise configuration, with the SQL Server instance running on the same machine.

1. Upgrade SQL 2014 to SQL 2016

First, do an in-place upgrade of your SQL2014 instance to SQL2016 (or SQL2016 SP1) by running the SQL2016 installer and selecting the “Upgrade from a previous version of SQL Server” option.
After the upgrade you’ll probably need to reboot.

At this point the MSCRM installation should work, except for the integration with Reporting Services – when you try to run a Report from MSCRM, you won’t see any results.

If you have tracing enabled in CRM, you’ll probably find an error along the lines of:

Crm Exception: Message: Type: System.Runtime.Serialization.ExtensionDataObject, ComplexTypes with no 
properties is not valid in OData V4., ErrorCode: -2147220970, InnerException: 
System.InvalidOperationException: Type: System.Runtime.Serialization.ExtensionDataObject, 
ComplexTypes with no properties is not valid in OData V4.

This is a problem that is fixed in CU2 of SQL 2016.

2. Install the latest Cumulative Update for SQL 2016

Note that there are 2 different Cumulative Update packs, one for SQL2016 (currently KB4013105) and one for SQL2016 SP1 (currently KB4013106), make sure you choose the right one.

As this point, the Reporting Services integration doesn’t work until the SRS Data Connector is reinstalled (the SRS Update will run, but won’t change anything).

3. Uninstall the Reporting Extensions

Uninstall the “Microsoft Dynamics 365 Reporting Extensions” via add/remove programs, and reboot.

 

4. Reinstall the Reporting Extensions

Reinstall the Reporting Extension by running the “SrsDataConnectorSetupSrsDataConnector.exe” from the original CRM2016 installation files.
Dont choose to get updates, and if it reports that the installation location is not empty, ignore that.

This will break, saying:
Action Microsoft.Crm.Setup.SrsDataConnector.AddBindingRedirectForRdlHelper failed.
Could not find a part of the path ‘C:Program FilesMicrosoft SQL ServerMSRS13.MSSQLSERVERReporting ServicesReportManagerweb.config’.

This can be explained because it still looks for the SQL2014-style ReportManager, which no longer exists in SQL2016.
Click Cancel to abort the installation – although it will say that the installation has failed, at this point enough of the files have been installed to be able to install Update 2 of the Reporting Services extensions.

5. Install update 2 for the CRM Reporting Extensions

Download and install CRM2016-Srs-KB3205084-ENU-Amd64.exe from the December 2016 Update for Dynamics 365. Because of the partial install we just did, this update should now complete succesfully. Don’t forget to reboot.

Now, you should be able to execute Reports from within MSCRM again 🙂