订阅和传递 (Reporting Services)

订阅是一种持续存在的请求,它在特定的时间或为响应某个事件以订阅中指定的应用程序文件格式传递报表。 订阅提供了一种可替代按需运行报表的方法。 按需运行报表要求您在每次要查看报表时主动选择报表。 相比之下,订阅可以用于对报表的传递进行计划并使其自动完成。

订阅将在报表服务器上进行处理,并且通过该服务器上部署的传递扩展插件分发。 默认情况下,可以创建将报表发送到共享文件夹或电子邮件地址的订阅。 如果将报表服务器配置为 SharePoint 集成模式,则还可以将报表发送到 SharePoint 库。

若要创建订阅,报表必须使用已存储凭据。 您必须拥有查看报表和创建单个订阅的权限。 必须对报表服务器启用**“预定的事件和报表传递”**。 有关详细信息,请参阅管理订阅(本机模式)

您可以为单个报表创建多个订阅,以便使用不同的订阅选项;例如,可以指定不同的参数值来生成两个报表版本,如西部地区销售报表和东部地区销售报表。 但是,反过来并不成立;不能使用单个标准订阅来生成多个报表版本。 如果希望从同一订阅生成多个报表版本,必须使用数据驱动订阅。

对于所创建的每个订阅,都必须指定传递选项。 传递选项由所选择的传递扩展插件决定。 传递扩展插件是支持某种分发方式的模块。 Reporting Services 包含多种传递扩展插件。 其他传递扩展插件可以由第三方供应商提供。

注意注意

并非在 SQL Server 的每个版本中均提供订阅。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2012 各个版本支持的功能 (https://go.microsoft.com/fwlink/?linkid=232473)。

本主题内容:

  • 订阅应用场景

  • 标准订阅和数据驱动订阅

  • 订阅要求

  • 传递扩展插件

  • 订阅的各部分

  • 本节内容

订阅和传递应用场景

下表介绍了使用 Reporting Services 随附的订阅和传递功能的一些应用场景。 如果您是开发人员,则可以创建自定义传递扩展插件,以便支持更多应用场景。 有关详细信息,请参阅实现传递扩展插件

应用场景

说明

以电子邮件形式发送报表

以电子邮件形式将报表发送给单个用户和组。 创建订阅,并指定组别名或电子邮件别名以便接收您要分发的报表。 您可以让 Reporting Services 在运行时确定订阅。 如果您想要将相同的报表发送给其成员会发生变化的组,则可以使用查询在运行时派生订阅列表。

脱机查看报表

用户可以在订阅中选择 PDF、Microsoft Excel 或 Web 存档格式。 建议在脱机查看报表时使用这些格式。 您要存档的报表可以直接发送到您计划在每天夜里备份到的共享文件夹。 要用很长时间在浏览器中加载的大型报表可通过能够在桌面应用程序中查看的格式发送到共享文件夹。

预加载缓存

如果您具有参数化报表的多个实例或大量报表查看器,则可以在缓存中预先加载报表以便缩短用于显示报表的处理时间。

数据驱动的报表

使用数据驱动的订阅可以在运行时自定义报表输出、传递选项和报表参数设置。 订阅使用查询在运行时从数据源获取输入值。 您可以使用数据驱动订阅执行邮件合并操作,将报表发送到在处理订阅时确定的一组订户。

用于“返回首页”链接的箭头图标返回页首

标准订阅和数据驱动订阅

Reporting Services 支持两种订阅:标准订阅和数据驱动订阅。 标准订阅由各个用户创建和管理。 标准订阅由静态值组成,这些值在订阅处理期间不能改变。 每个标准订阅都有一组报表显示选项、传递选项和报表参数。

数据驱动订阅通过查询外部数据源(提供用于指定收件人、报表参数或应用程序格式的值)来获取运行时订阅信息。 如果收件人列表非常大,或希望每位收件人的报表输出都不相同,则可以使用数据驱动订阅。 若要使用数据驱动订阅,必须具备生成查询的专业知识并了解如何使用参数。 通常,由报表服务器管理员创建和管理这些订阅。 有关详细信息,请参阅数据驱动订阅

用于“返回首页”链接的箭头图标返回页首

订阅要求

在对报表创建订阅之前,必须满足以下前提条件:

要求

说明

权限

您必须对报表具有访问权限。 在订阅报表之前,您必须具有查看该报表的权限。

您的角色分配必须包括“管理各个订阅”任务。

已存储凭据

报表必须使用已存储的凭据或不使用任何凭据在运行时检索数据。 不能订阅配置为使用当前用户的模拟凭据或委托凭据连接到外部数据源的报表。 已存储的凭据可以是 Windows 帐户或数据库用户帐户。 有关详细信息,请参阅为报表数据源指定凭据和连接信息

报表中的用户依赖值

仅在标准订阅情况下,如果报表在筛选器中使用用户帐户信息或将此信息以文本形式显示在报表上,则可以对这些报表创建订阅。 在报表中,通过解析为当前用户的 User!UserID 表达式指定用户帐户名。 创建订阅时,将把创建订阅的用户视为当前用户。

无模型项安全性

不能订阅将包含模型项安全设置的模型用作数据源的报表生成器报表。 此限制仅适用于使用模型项安全性的报表。

参数值

如果报表使用参数,则必须由报表自己或在所定义的订阅中指定参数值。 如果报表中已定义了默认值,则可以将参数值设置为使用默认值。

用于“返回首页”链接的箭头图标返回页首

传递扩展插件

订阅使用传递扩展插件确定如何分发报表以及报表的分发格式。 用户创建订阅后,就可以选择可用的传递扩展插件之一来确定传递报表的方式。 Reporting Services 包括以下传递扩展插件。 开发人员可以创建其他传递扩展插件以便将报表发送到其他位置。

传递扩展插件

说明

Windows 文件共享

将报表作为静态的应用程序文件传递到可通过网络访问的共享文件夹。

电子邮件

将通知或报表作为电子邮件附件或 URL 链接进行传递。

SharePoint 库

将报表作为静态的应用程序文件传递到可通过 SharePoint 站点访问的 SharePoint 库。 必须将该站点与在 SharePoint 集成模式下运行的报表服务器集成。

Null

Null 传递提供程序是一个专用程度很高的传递扩展插件,用于在缓存中预加载可以查看的参数化报表。此方法不能供单个订阅中的用户使用。 数据驱动订阅中的管理员可使用 Null 传递通过预加载缓存来提高报表服务器的性能。

注意注意

报表传递是 Reporting Services 体系结构的可扩展部分。 第三方供应商可以创建自定义的传递扩展插件,将报表传送到不同的位置或设备。 有关自定义传递扩展插件的详细信息,请参阅实现传递扩展插件

用于“返回首页”链接的箭头图标返回页首

订阅的各部分

订阅定义由以下几部分组成:

  • 指向可在无人参与模式下运行的报表(即,使用存储凭据或不使用任何凭据的报表)的指针。

  • 传递方法(如电子邮件)和传递模式的设置(如电子邮件地址)。

  • 用于以特定格式显示报表的呈现扩展插件。

  • 处理订阅的条件,表现形式为事件。

    通常,运行报表的条件是基于时间的。 例如,您可能想要在 UTC 时间每周二下午 3 点运行 特定的报表。 但是,如果该报表作为快照运行,则您可以指定订阅在快照刷新时运行。

  • 运行报表时使用的参数。

    这些参数是可选的,并且仅为接受参数值的报表指定参数。 由于订阅通常由用户拥有,因此所指定的参数值因订阅而异。 例如,不同部门的销售经理将使用参数来返回本部门的数据。 所有参数都必须具有明确定义的值或有效的默认值。

订阅信息与各个报表一起存储在报表服务器数据库中。 您不能将订阅和与其相关的报表分开管理。 请注意,不能扩展订阅来使其包含说明、其他自定义文本或其他元素。 订阅只能包含上面列出的各项。

用于“返回首页”链接的箭头图标返回页首

本节内容

用于“返回首页”链接的箭头图标返回页首

请参阅

任务

创建数据驱动订阅(SSRS 教程)

概念

计划

Reporting Services 报表服务器(本机模式)