After configuring SQL Server 2012 AlwaysOn failover for Microsoft Dynamics CRM 2013, reports may fail with the following error message:
An error has occurred during report processing. (rsProcessingAborted)
The following errors may also be observed in the Event Viewer Application logs on the Microsoft Dynamics CRM Server and the SQL Server Reporting Services Server where CRM Reporting Extensions is installed:
Web service request SetDataSourceCredentials to Report Server <ReportServerURL> failed with SoapException. Error: An error has occurred during report processing. (rsProcessingAborted)
Unable to open connection to database. Error: Connecting to a named SQL Server instance using the MultiSubnetFailover connection option is not supported.
During the configuration of SQL Server 2012 AlwaysOn failover for Microsoft Dynamics CRM, the MultiSubnetFailover attribute for the ConfigDB and MSCRM_CONFIG connection strings was set to True. In addition to this, a Named Instance was defined in the Data Source attribute of the connection string.
Example Connection String:
Data Source=MSCRMAG\NamedInstance;Initial Catalog= MSCRM_CONFIG;IntegratedSecurity=SSPI;multisubnetfailover=true
To resolve this issue, configure the Named Instance to use a specific TCP port, then update the ConfigDB and MSCRM_CONFIG connection strings to include the port number for the named instance.
1. Configure SQL 2012 Server to listen on a specific TCP Port for the Named Instance. Instructions to perform this action can be found here: http://msdn.microsoft.com/en-us/library/ms177440(v=sql.110).aspx
2. Per http://msdn.microsoft.com/en-us/library/jj822357.aspx, update the ConfigDB registry key and MSCRM_CONFIG database to include the port number for the named instance
Example for ConfigDB registry key:
Data Source=AG_Listener_Name,Port_Number;Initial Catalog= MSCRM_CONFIG;Integrated Security=SSPI;multisubnetfailover=true
Example for MSCRM_Config ConnectionString attribute:
'Provider=SQLOLEDB;Data Source=AG_Listener_Name,Port_Number;Initial Catalog=OrganizationName_MSCRM;Integrated Security=SSPI;multisubnetfailover=true' where DatabaseName = 'OrganizationName_MSCRM'