SSRS开发人员,
我有一个我试图倾向的场景,但需要知道我想做的事情是否可能。
我有4个报告要运行,然后将实际报告存储在服务器上的文件中。这种需求的原因是因为报告的响应时间有点长,我已经用SQL完成了所有工作以加快报告的速度。
我想要发生的是,当用户点击报告名称,而不是在屏幕上呈现报告时,我只想调用已存在于文件中的报告,以便快速加载闪电。
有没有人用SSRS做过这件事,甚至可能吗?
谢谢,
答案 0 :(得分:0)
除了按需运行报表外,还有两个特定选项:从缓存报表运行并从快照运行。
您可以在Setting Report Processing Properties。
中查看有关所有这些内容的详细信息<强>缓存强>
来自联机丛书:
要提高性能,您可以指定要生成的报告(和数据) 用户运行报表时临时缓存。缓存的副本是 随后可供访问同一报告的其他用户使用。同 这种方法,如果十个用户打开报告,只有第一个请求 导致报告处理。该报告随后被缓存,并且 其余九个用户查看缓存的报告。
所以在这里你可以看到它是一个特定的用户动作,导致创建存储的报告。
请参阅Report Caching in Reporting Services。
<强>快照强>
来自联机丛书:
报告快照是包含布局信息的报告 在特定时间点检索的数据。你可以跑一个 报告为报告快照以防止报告在其中运行 任意时间(例如,在计划备份期间)。一份报告 通常会创建快照并随后按计划刷新, 允许您准确计算报告和数据处理的时间 发生。如果报告基于需要很长时间才能运行的查询, 或者使用您不喜欢的数据源中的数据的查询 在某些时段访问,您应该将报告作为快照运行。
您可以在这里看到,这些通常是定期设置的,即与用户活动无关。
请参阅Creating, Modifying, and Deleting Snapshots in Report History。
在这种情况下,似乎快照可能是您的最佳选择,因此您可以更好地控制何时创建存储的报告。快照的主要问题是它们需要存储的凭据或无人值守的执行帐户,因此可能无法在所有情况下使用。