Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 如果订阅中未包含SSRS报告,是否呈现_Reporting Services_Ssrs 2012 - Fatal编程技术网

Reporting services 如果订阅中未包含SSRS报告,是否呈现

Reporting services 如果订阅中未包含SSRS报告,是否呈现,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我正在考虑使用订阅来提醒用户报告已使用另一订阅放置在网络位置 如果报告未包含,电子邮件订阅是否运行该报告?该报告很大,需要时间运行(因此需要文件共享而不是电子邮件) 我希望它只是发送电子邮件,而不会让服务器再次运行查询 是,将执行报告。整个订阅事件围绕报表的执行展开。如果报告未执行,则订阅不会运行 问题的解决方案 执行电子邮件订阅而不重新运行报表的简单解决方案是让报表从快照运行。如果在fileshare订阅之前设置了快照,则fileshare传递将基于报告的快照进行,然后使用相同的快照进行以下电

我正在考虑使用订阅来提醒用户报告已使用另一订阅放置在网络位置

如果报告未包含,电子邮件订阅是否运行该报告?该报告很大,需要时间运行(因此需要文件共享而不是电子邮件)

我希望它只是发送电子邮件,而不会让服务器再次运行查询


是,将执行报告。整个订阅事件围绕报表的执行展开。如果报告未执行,则订阅不会运行

问题的解决方案

执行电子邮件订阅而不重新运行报表的简单解决方案是让报表从快照运行。如果在fileshare订阅之前设置了快照,则fileshare传递将基于报告的快照进行,然后使用相同的快照进行以下电子邮件传递,仅运行一次报告

您可以在报表管理器的“报表处理”部分中设置报表快照

我推荐的解决方案

请注意,我没有尝试或测试我将在这里推荐的内容,因为我在我的组织中没有这样做的权限。然而,我过去也做过类似的事情。如果您有任何问题,请留下评论,我将尝试澄清

我将创建一个报告,查找已完成的文件共享交付订阅,并在找到成功的文件共享交付订阅后,发送一封电子邮件,说明该订阅可用。您可以轻松地在报表中配置一个参数,以查找与特定报表相关的成功订阅,然后在设置该参数时在电子邮件订阅中指定该参数

下面是一个查询,它将隔离服务器上具有订阅的报表。您可以对其进行微调,以找到特定的订阅类型或结果

SELECT rs.ReportID
    , cat.Name AS 'ReportName'
    , rs.ScheduleID AS 'SQLJobID'
    , cat.Path AS 'ReportPath'
    , cat.Description
    , sub.LastStatus
FROM dbo.Catalog AS cat 
    INNER JOIN dbo.ReportSchedule AS rs ON cat.ItemID = rs.ReportID 
    INNER JOIN dbo.Schedule AS s ON rs.ScheduleID = s.ScheduleID 
    INNER JOIN dbo.Subscriptions AS sub ON sub.SubscriptionID = rs.SubscriptionID
WHERE LEN(cat.Name) > 0
    AND (s.EndDate IS NULL 
        OR s.EndDate > GETDATE())
这将查找服务器上的所有报告。然后,可以使用此查询作为数据集创建新报告。将fileshare传递报告的ReportID用作新报告中的参数,以检查报告是否已成功传递。然后,使用LastStatus确定报告主体(即“您的报告已准备就绪”或“您的报告未准备就绪”)。然后,您将此新报告的订阅设置为根据需要运行,以提醒用户您的文件共享传递已成功


我希望这能有所帮助。

您检查过执行日志了吗?