When you run a report in Microsoft Dynamics CRM 4.0, you
receive the following error message:
Reporting Error. The
report cannot be displayed.
Additionally, the following event is
logged in the report server log file:
w3wp!processing!5!12/10/2007-15:06:18:: e ERROR: Throwing
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:
Cannot create a connection to data source 'CRM'. Info:
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot
create a connection to data source 'CRM'. --->
System.Data.SqlClient.SqlException: Cannot open database "MSCRM_CONFIG"
requested by the login. The login failed. Login failed for user <Placeholder
for authenticating account>.
This problem occurs
because the account that the Microsoft Dynamics CRM Data Connector for
Microsoft SQL Server Reporting Services is using
to authenticate
does not have permissions
to
the Microsoft CRM databases.
To resolve this problem, grant the
appropriate account permission to access the Microsoft
Dynamics CRM databases. To do this, follow these steps:
Identify the account that
is used by the Microsoft Dynamics CRM Data Connector
for Microsoft SQL Server that authenticates to Microsoft
SQL
Server.
For
Microsoft SQL Reporting Services 2005
If the Microsoft Dynamics CRM Data Connector for Microsoft SQL Server Reporting
Services is installed on a SQL Reporting Services 2005 instance, the
Microsoft Dynamics CRM Data Connector for Microsoft SQL Server Reporting
Services will authenticate to SQL Server
as the identity of the Internet
Information Services (IIS)
application pool used by SQL Reporting Services. To
determine the identity of the IIS application pool used by SQL Reporting
Services, follow these steps:
On the Microsoft SQL Reporting Services server, click
theStart
button,
and thenpoint
to All Programs, click
Microsoft SQL Server 2005, click Configuration
Tools, and then click Reporting Services
Configuration.
In the Report Server Installation Instance Selection,
select the SQL Reporting Services instance where the Microsoft CRM Data
Connector for Microsoft SQL Server Reporting Services is installed, and then
click Connect.
Click Web Service Identify. Note the
value for ASP.NET Service Account. This value
indicates which account is used for the IIS
application pool used by SQL Reporting Services which is also the account that
is used by the Microsoft Dynamics CRM Data Connector
for Microsoft SQL Server Reporting Services when it authenticates to SQL
Server.
For SQL
Reporting Services 2008
If the Microsoft Dynamics CRM Data Connector for Microsoft SQL Server Reporting
Services is installed on a SQL Reporting Services 2008 instance, it will
authenticate to SQL Server
as the account running the SQL Server Reporting
Services Windows service. To determine the account running the SQL Server
Reporting Services Windows service, follow these steps:
On the Microsoft SQL Reporting Services server, click
the Start
button,
and thenpoint
to Administrative Tools, and then
click Services.
Locate the SQL Server Reporting Services service and
note the value that
is listed in the Log On As column.
Grant the appropriate account permission to access the
Microsoft Dynamics CRM databases. If
SQL Reporting Services and the SQL Server
databases are installed on the same server and the
account identified in step
1 is Network Service,
follow these steps:
Start SQL Server Management Studio. To do this, click the
Start
button,
and then point to All Programs, point
to Microsoft SQL Server 2005, and then click SQL
Server Management Studio.
Expand Security, expand
logins, right-click NT AUTHORITY\NETWORK
SERVICE, and then click Properties.
Click User Mappings.
Click to select the
Organization_name_MSCRM check box,
and then click to select the public check box and the
CRMReaderRole check box.
Note The Organization_name placeholder is a
placeholder for the actual organization name.
Click to select the MSCRM_Config check
box, and then click to select the public check box and the
CRMReaderRole check box.
Click OK.
If
SQL Reporting Services and the SQL databases are installed on the same server
and the account identified in step
1 is Local System,
follow these steps:
Start SQL Server Management Studio. To do this, click on
the Start
button, and
then point to All Programs, point to
Microsoft SQL Server 2005, and then click SQL Server
Management Studio.
Expand Security, expand
logins, right-click NT AUTHORITY\SYSTEM, and
then click Properties.
Click User Mappings.
Click to select the
Organization_name_MSCRM check box,
and then click to select the public check box and the
CRMReaderRole check box.
Note The Organization_name placeholder is a
placeholder for the actual organization name.
Click to select the MSCRM_Config check
box, and then click to select the public check box and the
CRMReaderRole check box.
Click OK.
If
SQL Reporting Services and the SQL Server
databases are installed on separate servers and the
account identified in step
1 is Network Service or Local System,
follow these steps:
a. Open Active Directory Users and Computers and verify
that the SQL Reporting Services computer account is a member of the
SQLAccessGroup that was created by the installation of Microsoft Dynamics
CRM.
Start SQL Server Management Studio. To do this, click
on theStart
button,
and then point to All Programs, point
to Microsoft SQL Server 2005, and then click SQL
Server Management Studio.
Expand Security, expand
logins, right-click SQLAccessGroup, and then
click Properties.
Click User Mappings.
Click to select the
Organization_name_MSCRM check box,
and then click to select the public check box and the
CRMReaderRole check box.
Note The Organization_name placeholder is a
placeholder for the actual organization name.
Click to select the MSCRM_Config check
box, and then click to select the public check box and the
CRMReaderRole check box.
Click OK.
Complete the following steps if SQL Reporting
Services is running as a domain user account:
Open Active Directory Users and Computers and verify
that the user account identified in Step 1 is a member of the SQLAccessGroup
that was created by the installation of Microsoft Dynamics CRM.
Start SQL Server Management Studio. To do this, click
Start, point to All Programs, point to
Microsoft SQL Server 2005, and then click SQL Server
Management Studio.
Expand Security, expand
logins, right-click SQLAccessGroup, and then
click Properties.
Click User Mappings.
Click to select the
Organization_name_MSCRM check box,
and then click to select the public check box and the
CRMReaderRole check box.
Note The Organization_name placeholder is a
placeholder for the actual organization name.
Click to select the MSCRM_Config check
box, and then click to select the public check box and the
CRMReaderRole check box.