简体   繁体   English

Sharepoint SSRS空白报告,无错误

[英]Sharepoint SSRS blank report with no errors

I have an SSRS (2008 R2) instance running in SharePoint (2010) integrated mode running on IIS (7.5.7600.16385), and I have several reports that run for around 10 minutes then the report loading spinner goes away and we're left with a blank white screen. 我有一个运行在SharePoint(2010)集成模式下的IIS(7.5.7600.16385)上运行的SSRS(2008 R2)实例,并且有多个报告运行了大约10分钟,然后报告加载微调消失了,我们剩下了空白的白色屏幕。 The logs show no error message, and sometimes the stored procedure is still running on the sql server afterwards. 日志中没有显示错误消息,有时存储过程此后仍在sql服务器上运行。

I'm convinced this is a timeout of some kind, but can't figure out where. 我确信这是某种超时,但无法确定在哪里。 What are all the timeout values in play here, and how to change each of them? 这里所有的超时值是什么,以及如何更改每个超时值?

There are many timeout settings. 有许多超时设置。

You can set the timeout on the individual dataset if you think that the dataset is timing out. 如果您认为数据集正在超时,则可以在单个数据集上设置超时 Open the dataset properties in Visual Studio to set this. 在Visual Studio中打开数据集属性以进行设置。 You can also adjust this in RSReportServer.config if you want to set it server wide: 如果要在服务器范围内设置它,也可以在RSReportServer.config中进行调整:

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

You can adjust the report execution timeout for individual reports from the Report Properties dialog using the action menu from your SharePoint report list. 您可以使用SharePoint报告列表中的操作菜单,从“ 报告属性”对话框中调整单个报告的报告执行超时。

For web server timeouts, in the web.config files in \\Program Files\\Microsoft SQL Server\\MSSQL.X\\Reporting Services\\ReportManager and \\Program Files\\Microsoft SQL Server\\MSSQL.X\\Reporting Services\\ReportServer you could adjust the sessionState timeout (for ReportManager web.config) and the ExecutionTimeout in both files (Restart IIS after adjusting these by doing an IISRESET ) 对于Web服务器超时,可以在\\Program Files\\Microsoft SQL Server\\MSSQL.X\\Reporting Services\\ReportManager\\Program Files\\Microsoft SQL Server\\MSSQL.X\\Reporting Services\\ReportServer中的web.config文件中调整sessionState两个文件中的超时(对于ReportManager web.config)和ExecutionTimeout (通过执行IISRESET调整它们后重新启动IIS)

 <httpRuntime executionTimeout = "36000" />

However, it is unlikely that you have SQL queries that go for longer than 10 minutes or session timeouts. 但是,您的SQL查询不可能持续超过10分钟或会话超时。 Try executing the SQL queries from your report in Sql Server Management Studio and see how long they go for; 尝试在Sql Server Management Studio中从报表中执行SQL查询,并查看查询需要花费多长时间。 I'll bet they will go for seconds, not minutes. 我敢打赌,他们会持续数秒钟,而不是几分钟。 If they go for minutes then investigate adding an index or look at the execution plan to see if you can optimise the query to stop doing full table scans. 如果他们花了几分钟时间,请研究添加索引或查看执行计划,以查看是否可以优化查询以停止进行全表扫描。

So the problem isn't likely to be fixed by increasing the dataset or server timeout settings, you have a different problem and the most likely candidate for your performance issue is parameter sniffing. 因此,不可能通过增加数据集或服务器超时设置来解决此问题,您会遇到其他问题,而性能问题最可能的原因是参数嗅探。 What is happening is that Sql Server is trying to optimise your query and completely messing it up and causing horrible performance degradation and timeouts. 发生的情况是Sql Server试图优化查询并将其完全弄乱,从而导致可怕的性能下降和超时。 We need to fix this, not increase the timeout limit. 我们需要解决此问题,而不是增加超时限制。

Fortunately this is easy to solve. 幸运的是,这很容易解决。 Try the techniques discussed in my other answers regarding using local variables or text SQL expressions to avoid parameter sniffing issues or try adding OPTION (RECOMPILE) to the end of your SQL query. 尝试其他答案中讨论的有关使用局部变量文本SQL表达式的技术,以避免参数嗅探问题,或者尝试在SQL查询的末尾添加OPTION (RECOMPILE)

Have you checked the default value for the ReportViewer.ServerReport.Timeout? 您是否检查了ReportViewer.ServerReport.Timeout的默认值? I believe it defaults to 600 seconds. 我相信它默认为600秒。

Change it 


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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 SSRS - “作为用户查看报告”错误 - SSRS - “As the user viewing the report” error SSRS报告服务器是否在IIS之上运行? - Does SSRS Report server run on top of IIS? URL重写虚拟目录以检索SSRS报告 - URL Rewrite of virtual directory to retrieve SSRS report SQL 2005 SSRS-除我以外的用户无法访问报告 - SQL 2005 SSRS - users other than me cannot access report Crystal Report在Windows Server 2012上显示空白页 - Crystal Report Shows blank Page on Windows server 2012 IIS 8显示没有错误的空白页,而不是.aspx页? - IIS 8 shows a blank page with no errors instead of .aspx page? 检索ssrs中的数千条记录报告部署的asp.net Web应用程序 - Retrieve thousands of record in ssrs Report deployed asp.net web applications 有没有办法从 SSRS 报告管理器 URL 禁用 X-Frame 选项? - Is there a way to disable X-Frame options from SSRS Report Manager URL? SQL Server报表生成器-连接到SharePoint列表时,获取“来自HRESULT的异常:0x80070005(E_ACCESSDENIED)” - SQL Server Report Builder - Getting “Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)” when connecting to SharePoint lists 为什么在IIS 8.5(Win 2012 R2)中为asp.net错误提供“200 OK”的空白页? - Why are blank pages being served with “200 OK” for asp.net errors in IIS 8.5 (Win 2012 R2)?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM