SSRS缓存与缓存刷新计划

浏览: 3130

半路入门,学习SSRS过程中,有很多的想法,在经过验证后,每次都进步一点,在此感谢论坛的各位一一指点

这次是在学习报表部署后,实际应用环节发现的自身问题:

实际使用问题:在设计好报表发布后,因为每次查询都是从服务器查询数据,用户每次查看报表的时间都很长。

解决思路:设想应该有报表缓存,然后脱机运行应该可以解决问题(涉及的报表每天更新一次即可,不需要抽取实时数据)

解决方法:首先提问了下 技术牛:悟,得到了肯定的答案  :可以基于 共享数据集-去管理端Reports设置 -缓存计划。

在这里将多次验证后的步骤一一写出:

1:设置方案属性:在报表所属解决方案中  overwritedatasources与overwritedatasets两项设置为false  前者是每次部署后会覆盖报表服务器上的数据源定义,后者则覆盖服务器上的数据集定义(前期验证的时候没有特别注意此项,导致每次部署后验证失败-后面会提到为什么)


2:转换共享数据集:将报表涉及的数据集都转化成共享数据集(如不能转换,可能数据源引用不是共享数据源,重新设计为数据集的数据源为共享数据源,然后再转换)


3:REPORT管理端数据源连接方式设置:在report管理端(即 Reporting Services配置管理器-报表管理器URL展示的管理web网页-点击进入)

a、选择主文件夹下得数据源文件夹-点击进入

b、找到需要缓存报表对应的数据源-点击进入

c、在属性页面-将连接方式-更改为(安全储存在报表服务器中的凭据)--这一点也将影响报表的订阅(百度知道的,还未验证)

如没有设置此选项,会提示如图步骤5-1中的 “未存储用于运行共享数据集的凭据”





4:REPORT管理端数据集设置(以下基于自身需求进行设置,如有其他需求的,可以参照此步骤做其他设置)

重返“主文件夹”页面,点击“数据集”进入视图,依次选择报表所涉及的 共享“数据集”-设置“缓存”与“缓存刷新选项”两项

其中 

① 缓存 项是缓存计划的根本,设置后才可以缓存报表。【不选择此项直接设置“缓存刷新计划”是不行的】

【官方解释如下:用户首次打开使用此共享数据集的报表时,在缓存中放置数据的临时副本。以后在缓存期间内运行报表的用户将收到数据的缓存副本。由于将从缓存中返回数据(而不是重新运行数据集查询),因此进行缓存通常会提高性能。

也就是说第一次点击还是要登录服务器运行的,如果运行时间很长,还是会影响到第一位查看的用户。就会需要用“缓存刷新计划”把第一次的缓存提前。(个人这么理解的)

对“缓存共享数据集”选项打钩,并选择“缓存根据以下计划到期”-“数据集特定计划”-制定每天晚上缓存到期(也就是在报表查询的间歇期或低峰期选择删除缓存,等待第二天的新数据录入后继续缓存【此步骤涉及到 缓存刷新选项】)



② 缓存刷新选项

点击‘新建缓存刷新计划’

【官方解释:使用“缓存刷新选项”页可以创建使用报表或共享数据集数据的临时副本预加载缓存的计划。刷新计划包括计划和任何相关参数。在刷新选项中,可以创建和使用多个刷新计划。】--【如果有参数的情况下,貌似需要对每个参数设置一个刷新计划-待亲测后再说明】

设置刷新计划的名称

设置刷新时间:有小时、天、周、月、一次等选项,以及阶段性报表的开始结束时间选项,很方便的设置。

设置好后,点击确定,并再次点击“确认”




5:其他疑问  

①、在缓存与缓存刷新选项中都有一个共享计划,在刚开始测试的时候曾经做弄出来过,经过N次摸索后已经忘记怎么设置了,只能后面再验证。

②、在多参数的情况,如果需要对每个参数都要设置刷新计划,参数特别多的时候,怎么办?

推荐 5
本文由 箕山小道 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

共享计划可以在Microsoft SQL Server management Studio(SSMS) 中连接 Reporting Services 报表服务引擎,连接之后,有个共享计划,可以右键新建共享计划!

要回复文章请先登录注册