首页 文章

Sharepoint SSRS空白报告没有错误

提问于
浏览
0

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

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

2 回答

  • 3

    有许多超时设置 .

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

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

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

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

    <httpRuntime executionTimeout = "36000" />
    

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

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

    幸运的是,这很容易解决 . 尝试在我的其他答案中讨论的有关使用local variablestext SQL expressions以避免参数嗅探问题或尝试将 OPTION (RECOMPILE) 添加到SQL查询结尾的技术 .

  • 0

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

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

相关问题