报表不能运行的解决办法(空白,rsProcessingAborted)

来源:互联网 发布:左程云算法视频百度云 编辑:程序博客网 时间:2024/05/21 09:25

Dynamics CRM的报表功能非常强大,给管理者提供了数据分析的工具,也让管理者能因此对市场、对公司运营制定出更精确的计划。但报表的配置涉及了SQL serverReporting serverSSRS), AppserverFirewall等许多方面。相信许多人也对报表白屏、报错、不能返回数据等问题感到很纠结。这里为大家总结一下报表不能运行的解决方法。

 

1)打开App Server的防火墙

在防火墙的高级设置里,找到并允许Windows Communication Foundation net.tcpListener Adapter规则。这样可以打开808端口,使ReportingService可以返回数据到App Server。当有多台服务器做负载平衡时,需要把每台服务器的808端口都打开。

 

2)为Service Account设置SPN

我们在实施的时候,通常都为不同的service设置了不同的账号,譬如运行SQL serverdomain\sqlexecsrv,运行Async servicedomain\crmasyncsrv或运行SSRSdomain\ssrsexecsrv等。假设我们的SSRS主机名为RPTProdFQDNRPTProd.contoso.com。那么请根据下面的表格为不同的账号设置好SPN。(请先删除原先错误的SPN

服务

举例账号名

设置SPN命令

SSRS

 

domain\ssrsexecsrv

Setspn -a HTTP/RPTProd.contoso.com domain\ssrsexecsrv

Setspn -a HTTP/RPTProd domain\ssrsexecsrv

SQL

domain\sqlexecsrv

Setspn -a MSsqlSvc/SqlProd.contoso.com:1433 domain\sqlexecsrv

SandBox

domain\crmsandboxsrv

Setspn -a MSCRMSandboxService/appProd.contoso.com domain\crmsandboxsrv

Async Service

domain\crmasyncsrv

Setspn -a MSCRMAsyncService/appProd.contoso.com domain\crmasyncsrv

AppPool

domain\crmapppool

Setspn -a HTTP/appProd.contoso.com domain\crmapppool

Setspn -a HTTP/appProd domain\crmapppool

 

3)检查各账号是否已在合适的AD

在最低允许权限的前提下,我们可以按下面这个表来设置配置服务账号所在的AD组。(空表明这个服务的账号不需要在特定的AD组)

服务

PrivReportingGroup

ReportingGroup

PrivUserGroup

SQLAccessGroup

SSRS

 

 

 

SQL

 

 

 

 

SandBox

 

 

 

 

Async Service

 

 

AppPool

 

 

而一个账号同时运行多个服务时,譬如SandBoxAppPool是用同一个账号运行的,那么这账号就需要在多个AD组了。注意的是无论这样,这些Account都不能是CRM的用户!

 

4)开启AD账号的委派(Delegation)

需要先设置好SPN,在AD里面查看各账号时才会有这个Tab。勾上"Trust this user for delegation to any service (Kerberos)"。设好后需要重启一下各服务,尤其是SSRS


 

5)设置"authPersistNonNTLM"

打开命令行运行下面的命令:

%systemroot%\system32\inetsrv\appcmd.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

原创粉丝点击