Reporting services ssrs处理时间峰值

Reporting services ssrs处理时间峰值,reporting-services,runtime-error,ssms,Reporting Services,Runtime Error,Ssms,我正在用ssrs制作一份报告,在公司内的公共场所展示。报告显示有关部门活动的最新数据,因此设置为每30秒左右刷新一次 我遇到的问题是,每隔几个小时,报表就会抛出一个错误(rserroradingnextdatarow)&(rsProcessingAborted)。我所要做的就是在浏览器中点击refresh(在internet浏览器中呈现),然后它会重新运行并愉快地绘制一段时间 查看reportserver执行日志后,这些错误似乎与处理时间的峰值一致。平均而言,每次报告刷新时,处理时间为400ms

我正在用ssrs制作一份报告,在公司内的公共场所展示。报告显示有关部门活动的最新数据,因此设置为每30秒左右刷新一次

我遇到的问题是,每隔几个小时,报表就会抛出一个错误(rserroradingnextdatarow)&(rsProcessingAborted)。我所要做的就是在浏览器中点击refresh(在internet浏览器中呈现),然后它会重新运行并愉快地绘制一段时间

查看reportserver执行日志后,这些错误似乎与处理时间的峰值一致。平均而言,每次报告刷新时,处理时间为400ms~800ms,但当它达到峰值时,会达到90000ms(是的,五个零),然后抛出此错误

作为SSRS的新手,我不确定从哪里开始寻找根本原因

有谁能给我指点,让我从哪里开始找出是什么导致处理时间像那样猛增?数据检索稳定在~5000ms,时间渲染稳定在200ms左右。只是处理过程出了问题

报告和数据的一些背景:

数据非常直截了当。它基于一个从过去7周中提取交易的视图。数量或记录,因此每周涨落~8000条记录。在SSMS中运行select*from View时,查询运行大约需要5秒钟。在我解决这个处理问题后,我将努力加快速度

虽然视图使用getdate()确定要从基表显示哪些记录,但没有使用任何参数

没有使用存储过程

报告本身由一个表格中的6个窗格组成,每个窗格都不需要画超过几十个标记(“第一个是美国各州的地图”)

这份报告确实有一个可能相关的特点,尽管我不确定如何相关。报表定义基于内置执行时间变量的mod 3过滤数据集,旋转报表以显示“本月”、“本周”或“今天”活动。还有一个额外的mod 3 on execution time(执行时间)可以旋转窗格的可见性。结果是,每30秒,一个带有不同图表组合的报告就会在一个旋转的时间框架上显示出来

我不知道这是否是一个原因,但这是报告中唯一一个让人有点想像力的因素。这份报告的其他内容实际上相当直截了当


虽然我很想识别并消除这些尖峰,但即使是一种在出错时自动刷新或超时时刷新(或类似效果的东西)的机制也可以做到这一点。我需要能够在早上启动报告,让它全天无人操作,无需任何人机交互,在工作时间内每30秒刷新一次

只需回顾一下评论:

  • 可以将网页推送到框架中,然后向主页添加javascript以定期刷新框架。它不会解决根本问题,但可能会有所帮助
  • 可能值得一看Sql Server中的性能监视工具—可能是数据库问题(临时表填充等)
  • 您注意到添加with(nolock)似乎有助于定位问题

我想知道您是否可以将网页放入框架中,然后将javascript添加到主页以定期刷新。我不确定你是否只能在出错时刷新而不是总是刷新,但这是一个想法。数据库日志中是否有与峰值一致的条目?Dan,你能详细说明一下条目的含义吗?您是否在谈论基表上的记录,因为编辑正在锁定表?这确实给了我一些关于视图中t-sql的想法,如果这不是你的意思的话。不,我在考虑sql Server中的性能监视工具。如果您有DBA,请询问他/她。这可能有点奇怪,比如临时数据库被填满。是的,DBA会很好。我通常不会对生产服务器进行查询,因此我没有发生过这种情况,但看起来可能是记录写入到表中,从而将其绑定。我在视图中的表调用中添加了with(nocount),并在整个下午成功运行了它,没有出现错误。这可能不是你想要的,但它确实帮助我找到了问题所在。如果我明天能顺利通过考试,不会出现错误,我会记下答案。谢谢在本例中,对生产数据库进行查询时,似乎在访问记录时发生了冲突,因此with(nolock)完成了这项任务。报告整天都在刷新,没有错误。谢谢你让我有了正确的思路。关于我遇到的其他奇怪的错误,我不明白。。。!