【问题标题】:How to create an archive history of an SSRS report as it is run如何在运行时创建 SSRS 报告的存档历史记录
【发布时间】:2016-06-10 02:26:29
【问题描述】:

客户希望拥有报告运行的最后 x 次的历史记录和 pdf 副本。他们希望能够:

1) 使用相同的参数重新运行报告(没有问题)

2) 保存一份原始报告的 pdf 副本以供日后查看

3) 为系统中的所有 (80) 个报告进行通用设置。

有没有人知道每次用户运行报告时您可以自动生成和存储报告的文件副本的方法。或者,一种从 ReportServer 或 ReportServerTempDB 数据库中提取报告的方法。

我意识到 SSRS 有历史快照,但据我所知,它们对我的问题没有用。

1) 它们必须作为快照运行,不能由用户直接运行。

2) 他们需要所有参数都具有默认值(因为它们是通过作业作为快照运行的)

无法满足如此简单的要求似乎很奇怪,我想知道我是否遗漏了什么。是否有任何第三方产品提供此功能。

非常感谢任何帮助。

【问题讨论】:

  • 我最近发现了这篇文章,他们向您展示了如何在每次执行报告时启动存储过程。您可能会发现它很有用:advancedssrs.com/2014/01/…
  • 谢谢vercelli

标签: reporting-services ssrs-2008-r2


【解决方案1】:

您可以查询包含所有已运行报告的详细信息以及使用的参数、谁和何时等的数据库,而不是创建运行报告的存档。

查看 ReportManager 数据库。有一些视图可以让您在其中找到一部分,加入目录以获取报告的详细信息等。

注意数据会在重新启动时(以及一段时间后)被清除,因此您需要一个进程将其复制到另一个表以进行长期存储。我还将 Windows 用户详细信息提取到另一个表中,这样我就可以拥有真实姓名。这一切都作为经理的 SSRS 报告公开。

编辑这可能不符合您的要求,因为当您稍后运行具有相同参数的报告时,如果基础数据发生更改,您可能会得到不同的结果。

【讨论】:

  • 谢谢迈克。所有报告详细信息都保存在 ReportsServer 数据库中是正确的,您可以在以后使用相同的参数重新运行报告,但您将获得不同的数据。实际的报告数据不会被存储,因此您无法重现用户稍后看到的报告。这是我的问题 - 用户想要系统上运行的每个报告的历史记录、运行报告的人以及生成的实际报告的副本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-07
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
相关资源
最近更新 更多