很快,当SMTP失败时,是否可以恢复由SSRS生成的报告?
有时我们会遇到SMTP的网络问题,甚至生成报告也无法发送。我们可以稍后手动发送它们,但问题是大多数报告需要在特定时间生成,否则数据不正确(例如,结束日期报告需要在凌晨12:00生成,否则一些更新的数字可能不正确。但我们想重新发送早上12点工作时产生的报告。
我考虑通过快照发送这些报告,但有些报告订阅有参数,我无法找到如何为每个订阅拍摄快照。
有什么想法吗?
提前致谢, 厄尼尔
答案 0 :(得分:0)
您可以使用sql代理作业每天12点捕获数据,该作业执行存储过程以使用数据填充表/表。
如果这是一个也可以实时运行的报告,您可以根据隐藏参数@extract_type运行报告,指示这是否为实时或快照。默认值为“live”,订阅将为此参数传递“snapshot”。每个数据集中的代码将基于@extract_type进行过滤,可能通过视图进行过滤。
这样,订阅可以在一天中的任何时间以相同的报告结果重新运行。
答案 1 :(得分:0)
[dbo]。[订阅]表中有一个LastStatus列。您可以创建一个每隔几分钟运行一次的作业,检查此表并重新启动所有具有smtp错误的订阅。
像SQLDiver一样,我认为将报表背后的数据存储在表格中是一个好主意。它不是报告工具存储数据的工作。