Sharepoint SSRS空白报告没有错误

时间:2018-06-15 15:30:49

标签: iis sharepoint reporting-services sharepoint-2010 ssrs-2008-r2

我有一个在IIS(7.5.7600.16385)上运行的SharePoint(2010)集成模式下运行的SSRS(2008 R2)实例,我有几个报告运行大约10分钟然后报告加载微调器就消失了我们'留下一个空白的白色屏幕。日志显示没有错误消息,有时存储过程仍在sql服务器上运行。

我确信这是某种超时,但无法弄清楚在哪里。这里播放的所有超时值是什么,以及如何更改它们中的每一个?

2 个答案:

答案 0 :(得分:3)

有许多超时设置。

如果您认为数据集超时,则可以set the timeout on the individual dataset。在Visual Studio中打开数据集属性以设置此属性。如果要在服务器范围内设置它,也可以在RSReportServer.config中进行调整:

<Add Key="DatabaseQueryTimeout" Value="0"/> <!--None-->

您可以使用SharePoint报告列表中的操作菜单,从Report Properties对话框调整各个报告的报告执行超时。

对于Web服务器超时,在web.config\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportManager中的\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportServer文件中,您可以调整sessionState超时(对于ReportManager web.config)和{{1在两个文件中(通过执行ExecutionTimeout

调整后重新启动IIS)
IISRESET

但是,您不太可能拥有超过10分钟或会话超时的SQL查询。尝试从Sql Server Management Studio中的报表执行SQL查询,看看它们需要多长时间;我打赌他们会花几秒钟,而不是几分钟。如果他们花了几分钟,那么调查添加索引或查看执行计划,看看是否可以优化查询以停止执行全表扫描。

因此,通过增加数据集或服务器超时设置可能无法解决问题,您遇到了不同的问题,并且最有可能出现性能问题的因素是参数嗅探。发生的事情是,Sql Server正在尝试优化您的查询并完全弄乱它并导致可怕的性能下降和超时。我们需要修复此问题,而不是增加超时限制。

幸运的是,这很容易解决。尝试在我的其他答案中讨论的有关使用local variablestext SQL expressions来避免参数嗅探问题或尝试将 <httpRuntime executionTimeout = "36000" /> 添加到SQL查询末尾的技巧。

答案 1 :(得分:0)

您是否检查过ReportViewer.ServerReport.Timeout的默认值?我相信它默认为600秒。

Change it 


    From:<asp:ScriptManager ID="ScriptManager1" runat="server">
    To:<asp:ScriptManager ID="ScriptManager1" runat="server" 
    AsyncPostBackTimeout="600">