SSRS电子邮件订阅发送旧版本的报告

时间:2018-04-03 13:56:36

标签: sql-server tsql reporting-services visual-studio-2013 ssrs-2012

我有一份带有电子邮件订阅的ssrs报告,每天早上都会将附件发送到电子邮件地址列表中。在我更新报告并将其重新部署到报告服务器后,该报告现在每天发送2封电子邮件。我尝试删除订阅并创建新订阅,删除报告并使用新报告名称重新部署,但这些都不是有用的。报告缓存属性设置为使用最近的数据。在报表服务器目录中检查,其中只有新版本的报表。知道它为什么发送电子邮件附件与旧版本的报告,虽然没有订阅可用。 我正在使用VS 2013

2 个答案:

答案 0 :(得分:0)

导航到SSRS文件夹中的报告,单击下拉列表并选择管理。然后转到处理选项并选择:始终使用最新数据运行此报告。并且还选择不缓存此报告的临时副本。

答案 1 :(得分:0)

我认为某个地方有一份报告的副本......可能隐藏了发送订阅的内容。

针对报表服务器运行以下内容

SELECT
sj.[name] AS [Job Name],
rs.SubscriptionID,
c.[Name] AS [Report Name],
c.[Path],
su.Description


FROM msdb..sysjobs AS sj 

INNER JOIN ReportServer..ReportSchedule AS rs
ON sj.[name] = CAST(rs.ScheduleID AS NVARCHAR(128)) 

INNER JOIN ReportServer..Subscriptions AS su
ON rs.SubscriptionID = su.SubscriptionID

INNER JOIN ReportServer..[Catalog] c
ON su.Report_OID = c.ItemID

where c.[Name]  like '%your report name here%'

您应该获得该报告的所有相关订阅。

使用作业名称并将其插入以下代码并执行它并查看到达的内容。您可能会发现有一个正在运行订阅的隐藏报告。我之前发生过这种情况!

USE [msdb]
EXEC sp_start_job @job_name = '05FC75D8-9F73-424E-A078-1F78A6AC3262'
 --enter the job name from the above query into this query to run the job :)