【问题标题】:Best way of getting notifications in SQL Server Reporting Services using Notification Services使用 Notification Services 在 SQL Server Reporting Services 中获取通知的最佳方式
【发布时间】:2008-09-17 23:24:41
【问题描述】:
【问题讨论】:
标签:
sql-server
reporting-services
notificationservices
【解决方案1】:
我同意 Simon re Notification Services
此外,除非您使用 Enterprise Edition,否则数据驱动的 SSRS 订阅不可用(如果您使用 SharePoint 集成模式,则不可用)。
另一种方法是创建一个运行 proc 的代理作业。 proc 可以检查您需要的条件并在满足时启动订阅:
exec ReportServer.dbo.AddEvent @EventType='TimedSubscription', @EventData='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx'
@EventData 是 dbo.Subscriptions 中订阅的 ID。
这将在 [dbo].[Event] 中删除一行。该服务每分钟轮询该表几次以启动订阅。
确实,这与您设置新订阅时发生的情况相去甚远,甚至可能更容易在报表服务器站点中创建订阅,查找创建的代理作业(具有 GUID 名称的代理作业)并编辑T-SQL。
希望对你有帮助
【解决方案2】:
我不会走 ntofications 服务路线 - 它几乎是 SQL Server 已弃用的功能,即使它在未来存在,它也会停滞不前。所以不要建立对它的依赖。
【解决方案5】:
数据驱动的订阅由多个部分组成。数据驱动订阅的固定方面是在您创建订阅时定义的,其中包括:
为其定义订阅的报告(订阅始终与单个报告相关联)。
用于分发报告的传递扩展。您可以指定报表服务器电子邮件传递、文件共享传递、用于预加载缓存的空传递提供程序或自定义传递扩展。您不能在单个订阅中指定多个交付扩展。
订阅者数据源。定义订阅时,您必须指定包含订阅者数据的数据源的连接字符串。不能在运行时动态指定订阅者数据源。
定义订阅时必须指定用于选择订阅者数据的查询。您不能在运行时更改查询。