概述
Dynamics CRM的报表功能非常强大,给管理者提供了数据分析的工具,也让管理者能因此对市场、对公司运营制定出更精确的计划。但报表的配置涉及了SQL server,Reporting server(SSRS), Appserver,Firewall等许多方面。相信许多人也对报表白屏、报错、不能返回数据等问题感到很纠结。这里为大家总结一下报表不能运行的解决方法。
1)打开App Server的防火墙
在防火墙的高级设置里,找到并允许Windows Communication Foundation net.tcpListener Adapter 规则。这样可以打开808端口,使ReportingService可以返回数据到App Server。当有多台服务器做负载平衡时,需要把每台服务器的808端口都打开。
2)为Service Account设置SPN
我们在实施的时候,通常都为不同的service设置了不同的账号,譬如运行SQL server的domainsqlexecsrv,运行Async service的domaincrmasyncsrv或运行SSRS的domainssrsexecsrv等。假设我们的SSRS主机名为RPTProd,FQDN为RPTProd.contoso.com。那么请根据下面的表格为不同的账号设置好SPN。(请先删除原先错误的SPN)
服务 | 举例账号名 | 设置SPN命令 |
SSRS
| domainssrsexecsrv | Setspn -a HTTP/RPTProd.contoso.com domainssrsexecsrv Setspn -a HTTP/RPTProd domainssrsexecsrv |
SQL | domainsqlexecsrv | Setspn -a MSsqlSvc/SqlProd.contoso.com:1433 domainsqlexecsrv |
SandBox | domaincrmsandboxsrv | Setspn -a MSCRMSandboxService/appProd.contoso.com domaincrmsandboxsrv |
Async Service | domaincrmasyncsrv | Setspn -a MSCRMAsyncService/appProd.contoso.com domaincrmasyncsrv |
AppPool | domaincrmapppool | Setspn -a HTTP/appProd.contoso.com domaincrmapppool Setspn -a HTTP/appProd domaincrmapppool |
3)检查各账号是否已在合适的AD组
在最低允许权限的前提下,我们可以按下面这个表来设置配置服务账号所在的AD组。(空表明这个服务的账号不需要在特定的AD组)
服务 | PrivReportingGroup | ReportingGroup | PrivUserGroup | SQLAccessGroup |
SSRS
| 在 |
| 在 |
|
SQL |
|
|
|
|
SandBox |
|
|
|
|
Async Service |
|
| 在 | 在 |
AppPool |
|
| 在 | 在 |
而一个账号同时运行多个服务时,譬如SandBox和AppPool是用同一个账号运行的,那么这账号就需要在多个AD组了。注意的是无论这样,这些Account都不能是CRM的用户!
4)开启AD账号的委派(Delegation)
需要先设置好SPN,在AD里面查看各账号时才会有这个Tab。勾上"Trust this user for delegation to any service (Kerberos)"。设好后需要重启一下各服务,尤其是SSRS。
5)设置"authPersistNonNTLM"
打开命令行运行下面的命令:
%systemroot%system32inetsrvappcmd.exe set config-section:system.webServer/security/authentication/windowsAuthentication-authPersistNonNTLM:true /commit:apphost
这样连续的请求不需要重新验证,能避免在负载平衡时可能的Token错误。
6)检查负载平衡的设置
当运用了BigIP做负载平衡时,需要打开Session Persistence,具体方法请查看我另外的文章。
通过BigIP做负载均衡导致报表功能及CRMOutlook client出错
7)检查SSRS的设置
SSRS是否通过给定的账号运行,是否已连接好了数据库。
通过上面的7个方面,一般都能解决报表和Outlook client不能连接的问题。如果还是不能解决问题,只能查看Error Log并做出其他相应的改动了。如果需要帮助,欢迎给我留言。
谢谢阅读!
Jake Zhong
最后
以上就是留胡子人生为你收集整理的报表不能运行的解决办法(空白,rsProcessingAborted)的全部内容,希望文章能够帮你解决报表不能运行的解决办法(空白,rsProcessingAborted)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复