运行SSRS报告时出现错误消息“报告处理期间发生错误,数据集[sprocs名称]的查询执行失败”。
此报表的存储过程可以在SQL服务器中无误地执行。 它有一个CTE查询,它使用链接的服务器从不同的数据库服务器检索数据。
在Windows日志中没有指出这个问题的错误。
我的猜测是,它必须与链接的服务器下降连接,但我似乎无法certificate是这样的,因为我找不到任何错误指向它,也sprocs好转。 同时也从SSRS上面的错误频繁地打开报告,检查它是否工作,closures了报告服务器。
任何人都可以帮助解决这个问题?
SQL事件探查器没有帮助解决这个问题。 我能够在Staging SSRS服务器上testing并运行报告,没有任何错误。 我能够从生产中运行具有相同数据源凭据的报告,但authentication问题不太可能。
这是在ReportServer日志中发现的错误
错误:抛出Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:数据集“[sprocname]”的查询执行失败。 信息:Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:数据集“[sprocname]”的查询执行失败。 —> System.Data.SqlClient.SqlException:命名pipe道提供程序:没有进程在pipe道的另一端。
但是,我们的系统pipe理员比较了SQL Serverconfiguration,发现客户端协议在分段和生产中的sorting不同。 我们将生产中的顺序更改为与分段匹配的顺序为共享内存,TCP / IP和命名pipe道,而不是TCP / IP之前的命名pipe道。 这解决了这个问题,到目前为止报告运行没有任何错误。
使用SQL事件探查器来查看从SQL服务器发送和返回的实际的事件。 使用跟踪日志,你应该能够确定原因。
报告服务是否在您testing存储过程的相同服务器上运行? 你是直接从SSRS接口运行报告还是embedded到另一个应用程序?
可能是身份validation问题,防火墙问题,双跳kerberos问题。 我的猜测是你只能到达其中一台服务器,或者你到达了两台服务器,但是login失败了。
据我所知这是身份validation问题检查您的报告服务器凭据和链接的服务器凭据和权限