我有一个SSRS报告,可以调出存储过程。如果直接从查询窗口运行存储过程,它将在2秒内返回。但是,从2005 SSRS报表运行的同一查询最多需要5分钟才能完成。这不仅发生在第一次运行中,而且每次都发生。此外,在其他环境中我看不到相同的问题。
关于SSRS报告为何在这种特定环境中运行如此缓慢的任何想法?
我有一个SSRS报告,可以调出存储过程。如果直接从查询窗口运行存储过程,它将在2秒内返回。但是,从2005 SSRS报表运行的同一查询最多需要5分钟才能完成。这不仅发生在第一次运行中,而且每次都发生。此外,在其他环境中我看不到相同的问题。
关于SSRS报告为何在这种特定环境中运行如此缓慢的任何想法?
Answers:
感谢您在此处提供的建议。我们找到了一个解决方案,它确实与参数有关。由于“参数嗅探”,从SSRS报告执行时,SQL Server正在生成复杂的执行计划。解决方法是在存储过程中声明变量,并将传入参数分配给变量。然后查询使用变量而不是参数。这导致查询无论从SQL Server Manager还是通过SSRS报表调用都可以一致地执行。
将此添加到您的过程的末尾: option(recompile)
这将使报表的运行几乎与存储过程一样快
我遇到了同样的问题,这是我对问题的描述
“我创建了一个存储过程,该过程将生成2200行,并在将近2秒钟内执行,但是在从SSRS 2008调用存储过程并运行报告后,该过程实际上从未运行过,最终我不得不杀死BIDS(商业智能开发工作室)来自任务管理器”。
我尝试过的事情:我尝试从reportuser登录运行SP,但是该用户的SP也正常运行,我检查了Profiler,但没有解决。
解:
实际上,问题在于,即使SP正在生成结果,但SSRS引擎仍需要花费时间来读取这些多行并将其呈现回去。所以我在SP中添加了WITH RECOMPILE选项并运行了报告..这是奇迹发生的时间,我的问题得到解决。
我在检索32000行的报告中遇到了报告html输出问题。查询运行速度很快,但进入Web浏览器的输出非常慢。就我而言,我必须激活“交互式分页”以允许用户查看首页并能够生成Excel文件。该解决方案的优点是首页显示速度快,用户可以生成导出到Excel或PDF,缺点是用户只能滚动当前页面。如果用户想查看更多内容,则必须使用网格上方的导航按钮。在我的情况下,用户接受此行为是因为导出到Excel更重要。
要激活“交互式分页”,必须在报告窗格中单击可用区域,然后在“属性”窗格中的报告级别上更改属性“ InteractiveSize” \“高度”。将此属性设置为不同于0的值。在我的情况下,我设置为8.5英寸。还要确保您在Tablix级别上未选中“如果可能,请保留在一页上”属性(右键单击Tablix,然后单击“ Tablix属性”,然后单击“常规” \“分页选项”)。