Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS报告的显示时间比执行时间长所指示的时间长_Sql Server_Reporting Services_Ssrs 2008 - Fatal编程技术网

Sql server SSRS报告的显示时间比执行时间长所指示的时间长

Sql server SSRS报告的显示时间比执行时间长所指示的时间长,sql-server,reporting-services,ssrs-2008,Sql Server,Reporting Services,Ssrs 2008,我有一份关于SSRS2008R2的报告。该报告非常简单,即tablix报告;没有子报告或类似的东西,甚至没有任何分类计数。用户希望报表“干净”,以便在将其导出到Excel时可以轻松地对其进行操作。此报表的查询是一个接受三个参数的存储过程 在开发过程中,它的运行时间约为30秒或更短。根据选择的参数,存储过程的完成时间少于此时间。(客户端号,年份和月份。)现在,它已经在生产服务器上运行了几个星期。客户端已经为一组特定的参数运行了它,大约需要30分钟才能完成!我已经完成了通常的调试。SP获取这些参数大

我有一份关于SSRS2008R2的报告。该报告非常简单,即tablix报告;没有子报告或类似的东西,甚至没有任何分类计数。用户希望报表“干净”,以便在将其导出到Excel时可以轻松地对其进行操作。此报表的查询是一个接受三个参数的存储过程

在开发过程中,它的运行时间约为30秒或更短。根据选择的参数,存储过程的完成时间少于此时间。(客户端号,年份和月份。)现在,它已经在生产服务器上运行了几个星期。客户端已经为一组特定的参数运行了它,大约需要30分钟才能完成!我已经完成了通常的调试。SP获取这些参数大约需要9秒钟。我读过,但不是这样。我已经检查了ReportServer.dbo.ExecutionLog3视图中的值。它们显示如下结果:

TimeStart:          2013-08-07 08:36:45.173
TimeEnd:            2013-08-07 08:37:08.943
TimeDataRetrieval:  11598
TimeProcessing:      3408
TimeRendering:       8171
所有这些似乎都表明报告在大约23秒内完成并呈现。但报告在网页上显示大约需要30分钟!现在,这组特定的参数返回大约20000条记录。而且没有分页功能,因为用户在将工作表导出到Excel时希望将所有内容都放在一个工作表上。但为了看看会发生什么,我尝试在每100条记录之后引入一些分页。当我这样做时,报告在30秒内完成。(但现在Excel工作簿中有200多个工作表。)

有人能告诉我为什么要花这么长时间来展示吗?根据执行日志,这不是数据检索,不是处理,也不是渲染。那么它能做什么呢

谢谢, 斯科特


编辑:我忘了提到我还进入了报告的“处理选项”,并更改了报告超时设置。它被设置为使用系统默认值(1800秒或30分钟)。现在设置为“将报表处理限制在以下秒数”2700(或45分钟)。客户抱怨的原因是,当他试图将报表导出到Excel时,他遇到了“rsExecutionNotFound”错误,这可能是由于报表会话超时所致。报告仍在30分钟内运行,我仍然收到rsExecutionNotFound错误。因此,我正在尝试解决根本问题。

我找到了解决方案。当我使用报表向导生成报表时,它将tablix放在列表中。(这使得它可以为tablix生成更多自定义的标题,如中所述。)显然,如果列表/tablix不定期分页,那么在IE8+中显示报告将花费很长时间。(这表明微软卓越支持部门说慢是SSRS 2008的一个缺陷。)不管怎样,删除列表并只放置一个没有自定义分组标题的tablix就成功了。报告在大约30秒或更短的时间内正确呈现。

我找到了分辨率。当我使用报表向导生成报表时,它将tablix放在列表中。(这使得它可以为tablix生成更多自定义的标题,如中所述。)显然,如果列表/tablix不定期分页,那么在IE8+中显示报告将花费很长时间。(这表明微软卓越支持部门说慢是SSRS 2008的一个缺陷。)不管怎样,删除列表并只放置一个没有自定义分组标题的tablix就成功了。报告在大约30秒或更短的时间内正确呈现。

我遇到了类似的问题

我的报告通过存储过程从SQL2008中提取数据

在SSMS中运行存储过程将在大约8秒钟内返回所有记录,但尝试运行报告将导致在30分钟后必须在VS2008上结束任务,而不会返回任何结果

我重构了sp,删除了一个公共表表达式,并用一个临时表替换它,报告在30秒内呈现

我们的SQL server运行非常热—内存在10Gb时完全耗尽(我无法控制),因此使用临时表(写入TempDB)似乎节省了足够的资源来呈现报告

希望这有帮助

干杯


迈克

我遇到了类似的问题

我的报告通过存储过程从SQL2008中提取数据

在SSMS中运行存储过程将在大约8秒钟内返回所有记录,但尝试运行报告将导致在30分钟后必须在VS2008上结束任务,而不会返回任何结果

我重构了sp,删除了一个公共表表达式,并用一个临时表替换它,报告在30秒内呈现

我们的SQL server运行非常热—内存在10Gb时完全耗尽(我无法控制),因此使用临时表(写入TempDB)似乎节省了足够的资源来呈现报告

希望这有帮助

干杯


Mike

您使用的是哪种浏览器?我们在IE中出现超时错误,但在Chrome中没有收到完全相同的报告。我一直在IE9中运行它。但我刚刚试过Chrome。在Chrome中,“处理”指示器(旋转的绿色圆圈)在大约30秒后消失,但报告根本不显示。但是,如果我将报告导出到excel,则导出将按预期工作。你认为这是一个浏览器问题吗?可能是的,尽管在我们的案例中,报告会在Chrome中在20秒内呈现,在IE9中超时。这仅适用于那些特定参数?非常奇怪。这些特殊的参数生成了一个超过20000条记录的记录集。报告通常要小得多。我最初的想法是这是一个渲染问题(因此添加了分页符),但是SSRS执行日志说它大约在8秒内渲染。所以我被难住了。还有一条评论。。。该报告没有在Chrome中呈现,这一事实具有重大意义