Upgrade Reports

报表定义 (.rdl) 文件通过以下方式自动升级:

  • 在 SQL Server Data Tools (SSDT)中报表设计器打开报表时,报表定义将升级到当前支持的 RDL 架构。 在项目属性中指定 SQL Server 2008 或 SQL Server 2008 R2 报表服务器时,报表定义将保存在与目标服务器兼容的架构中。

  • 将 Reporting Services 安装升级到 SQL Server 2014 Reporting Services (SSRS) 安装时,将编译已发布到报表服务器的现有报表和快照,并在第一次处理报表时自动升级到新架构。 如果报表不能自动升级,则将使用向后兼容模式处理报表。 报表定义保留在原始架构中。

在您将报表定义文件直接上载到报表服务器或 SharePoint 站点时,报表不升级。 在 SQL Server Data Tools 中升级报表定义是升级 .rdl 文件的唯一方法。

在本地或在报表服务器上升级报表后,您可能注意到出现附加的错误、警告和消息。 这是对内部报表对象模型和处理组件进行更改的结果,当在报表中检测到根本问题时,将导致出现这些消息。 有关详细信息,请参阅 Reporting Services Backward Compatibility

有关 SQL Server 2014 Reporting Services (SSRS)的新功能的详细信息,请参阅新增功能(Reporting Services)。

本主题内容:

能够升级的版本

在 Reporting Services 早期的任一版本中创建的报表都可以升级。 包括下列版本:

  • SQL Server 2005

  • 包含 Service Pack 1 的 SQL Server 2005

  • SQL Server 2005 Service Pack 2

  • SQL Server 2008

  • SQL Server 2008 R2

  • SQL Server 2014

报表定义 (.rdl) 文件和报表设计器

报表定义文件包括对 RDL 命名空间的引用,该命名空间指定了用于验证 .rdl 文件的报表定义架构的版本。

当你在 SQL Server Data Tools (SSDT) 的报表设计器中打开某个 .rdl 文件时,如果报表是针对先前的命名空间创建的,报表设计器会自动创建一个备份文件,并将该报表升级到当前命名空间。 这是升级报表定义文件的唯一方法。

您设置的部署属性可以影响保存报表定义文件的架构。 有关详细信息,请参阅 SQL Server Data Tools (SSRS) 中的部署和版本支持

可以将在早期版本的 Reporting Services 中创建的 .rdl 文件上传到 SQL Server 2014 报表服务器,并在首次使用时自动升级该文件。 报表服务器将以原始格式存储报表定义文件。 报表将在第一次被查看时自动升级,但是存储的报表定义文件仍保持不变。

注意

不能将具有 SQL Server 2014 报表定义命名空间的报表发布或上传到 SQL Server 2005 报表服务器。

若要为报表、报表服务器或报表设计器标识当前 RDL 架构,请参阅查找报表定义架构版本 (SSRS)

已发布的报表和报表快照

第一次使用时,报表服务器会尝试将现有的已发布报表和报表快照升级为新的报表定义架构,不需要您执行特定操作。 当用户查看报表或报表快照时,或者当报表服务器处理订阅时,将尝试进行升级。 报表定义不会被替换,但将继续存储在其原始架构中的 SQL Server 2014 报表服务器上。 如果报表不能升级,则报表将在向后兼容模式下运行。

向后兼容模式

已成功升级的报表由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理。 SQL Server 2005 Reporting Services 报表处理器在向后兼容模式下处理无法升级的报表。 一个报表不能同时由这两个报表处理器来处理。 第一次使用时,报表将成功升级或标记为向后兼容。

只有 SQL Server 2014 Reporting Services (SSRS) 报表处理器支持新功能。 如果报表不能升级,您仍然可以查看呈现的报表,但不能使用新功能。 若要利用新功能,必须成功地升级报表。

使用子报表升级报表

当报表中包含子报表时,升级过程中会出现四种可能的状态之一:

  • 主报表和所有子报表都能成功地升级。 它们由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理。

  • 主报表和所有子报表都不能升级。 它们由 SQL Server 2005 Reporting Services 报表处理器处理。

  • 主报表可以升级,但一个或多个子报表不能升级。 主报表由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理,但呈现的报表在无法升级的子报表的位置显示消息“错误:无法处理子报表”。

  • 主报表不能升级,但一个或多个子报表可以升级。 主报表由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理,但呈现的报表在子报表出现的位置显示消息“错误:无法处理子报表”。

如果看到错误“错误: 无法处理子报表”,则必须更改主报表或子报表的定义,以便可以由报表处理器的同一版本处理报表。

钻取报表没有此限制,因为它们被作为独立的报表处理。

使用自定义报表项升级报表

SQL Server 2005 Reporting Services 报表可能包含第三方软件供应商提供的自定义报表项(CCI),并由系统管理员在报表创作计算机和报表服务器上安装。 可以按以下方式升级包含 CRI 的报表:

  • SQL Server 2005 Reporting Services 报表服务器已升级到 SQL Server 2014 Reporting Services (SSRS) 报表服务器。 在首次使用时自动升级报表服务器上的已发布报表。

  • SQL Server 2005 Reporting Services 报表上传到 SQL Server 2014 Reporting Services (SSRS) 报表服务器。 报表将在首次使用时自动升级。

  • SQL Server 2005 Reporting Services 报表在 SQL Server Data Tools (SSDT)中的报表设计器中打开。 将创建原始报表的一个备份副本。 发生以下两种情况之一:

    1. 报表中的所有 CRI 没有不受支持的功能。 CRI 将转换为新报表定义架构中的报表项,以便升级整个报表。 如果保存该文件,则它将保存在当前 RDL 命名空间中。

    2. 报表中的一个或多个 CRI 具有不受支持的功能。 出现一个对话框,提示用户是转换这些 CRI 还是将它们保留不变。

    有关详细信息,请参阅本主题后面的 在报表设计器中打开报表

有关为报表服务器、SQL Server Data Tools 或报表标识当前 RDL 命名空间的信息,请参阅查找报表定义架构版本 (SSRS)

升级报表服务器上的报表

首次在已升级到 SQL Server 2014 Reporting Services (SSRS) 报表服务器的报表服务器上运行 SQL Server 2005 Reporting Services 报表时,报表会自动升级到报表服务器支持的当前报表定义命名空间。 在升级之前,报表服务器上可能已存在报表,或者报表可以通过报表管理器上传或从 SQL Server 2005 SQL Server Data Tools 中的报表设计器发布到报表服务器。

下表列出由报表服务器为报表中特定类型的 CRI 执行的升级操作。

CRI 类型 报表服务器升级操作
第三方 CRI 不执行升级。

由 SQL Server 2005 Reporting Services 报表处理器处理。
具有不受支持的功能的 Dundas 2005 图表 CRI 升级到最新的 RDL 架构。 所有 Dundas 2005 图表 CCI 都转换为与 SQL Server 2014 Reporting Services(SSRS)兼容的图表数据区域。

由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理。
不具有不受支持的功能的 Dundas 2005 仪表 CRI 升级到最新的 RDL 架构。 所有 Dundas 2005 仪表 CCI 都转换为与 SQL Server 2014 Reporting Services (SSRS) 兼容的仪表数据区域

由 SQL Server 2014 Reporting Services (SSRS) 报表处理器处理。
具有不受支持的功能的 Dundas 2005 图表 CRI 不执行升级。

由 SQL Server 2005 Reporting Services 报表处理器处理。
具有不受支持的功能的 Dundas 2005 仪表 CRI 不执行升级。

由 SQL Server 2005 Reporting Services 报表处理器处理。

在报表设计器中使用 CRI 打开报表

在 SQL Server 2014 SQL Server Data Tools (SSDT)中打开 SQL Server 2005 Reporting Services 报表时,报表将升级到新的报表定义架构报表设计器中的 CCI。 根据报表中包含的 CRI,将执行下列操作之一:

  • 检测到第三方 CRI。 如果安装在报表创作计算机上的 CRI 的版本与新的 RDL 架构不兼容,则设计图面将显示带有红色 X 的文本框。您必须与系统管理员联系,以便从与新的 RDL 架构兼容的第三方供应商那里安装新版本的 CRI。

  • 检测到 Dundas 2005 图表或仪表 CRI,所有实例都包含受支持的功能。 所有 Dundas 2005 图表和仪表 CRI 都将转换为您在工具箱中看到的 Reporting Services 图表和仪表报表项。 这些项称为本机图表和仪表报表项。

  • 检测到 Dundas 2005 图表或仪表 CRI,所有实例都包含不受支持的功能。 不受支持的功能将在本节后面的内容中介绍。 您可以选择是否将所有 CRI 转换为本机报表项。

    • 如果转换它们,报表将升级到新的 RDL 架构,Dundas 2005 图表和仪表 CRI 将转换为相应的本机图表和仪表报表项,但将删除不受支持的功能。 在呈现报表中,您看到的情况可能与 CRI 的显示方式有所不同。

    • 如果选择不转换它们,则报表将升级到新的 RDL 架构,但是 CRI 将被视为第三方 CRI。 您必须配合系统管理员和第三方供应商来安装与新报表架构兼容的全新 CRI。 如果新的 CRI 不可用,则报表将在报表设计器中显示一个带有红色 X 的文本框。

在报表创作环境中升级报表后将其保存,这是将现有报表升级到新的报表定义架构的唯一方式。

不受支持的 Dundas 2005 图表自定义报表项功能

Dundas 2005 图表 CRI 不受支持的功能包括:

  • 批注。

  • 自定义图例项。

  • 自定义属性具有下列名称:

    • CUSTOM_CODE_CS

    • CUSTOM_CODE_VB

    • CUSTOM_CODE_COMPILED_ASSEMBLY

      例如,如果 .rdl 文件包含以下部分,则需要在升级之前将其删除:

      <CustomProperty>  
       <Name>CUSTOM_CODE_CS</Name>  
       <Value>dXNpWERwegfdfgiobxxl3bmc... </Value>  
      </CustomProperty>  
      

不受支持的 Dundas 2005 仪表自定义报表项功能

Dundas 2005 仪表 CRI 不受支持的功能包括:

  • 数字指示器。

  • 状态指示器。

  • 自定义图像。

“转换 CRI”对话框

该报表包含其中有不受支持的功能的自定义报表项 (CRI)。 CRI 是对报表定义语言 (RDL) 的扩展,它支持用于显示报表中的数据的自定义对象。 CRI 包含由第三方软件供应商提供的设计时和运行时组件。

注意

对于是否选择在报表服务器上支持自定义报表项,需要由系统管理员决定。 若要查看报表中的 CRI,必须将 CRI 组件安装在报表创作客户端上以预览报表,并将其安装在报表服务器上以查看已发布或上载的报表。 有关详细信息,请参阅 自定义报表项 和第三方软件供应商的文档。

某些 CRI 可以转换为采用新的报表定义格式的报表项。 有关可以转换的 CRI 的列表,请参阅 Upgrading Reports。 使用下表可以决定是否转换该报表中的 CRI:

  • 选择 “是” 将转换报表中所有可以转换的 CRI。 无法升级 CRI 中不受支持的功能,也不能从报表定义文件中删除它们。 有关不支持的功能的列表,请参阅 Upgrading Reports。 查看报表时,可能看到 CRI 在报表中的显示方式存在差异。

  • :如果不希望转换报表中的 CRI,请选择 “否” 。 当前版本中的报表处理器无法显示这些 CRI。 如果您的系统管理员计划安装从第三方软件供应商那里得到的且与新报表定义格式兼容的新版本 CRI,则应当选择 “否”。 在使用新版本以前,CRI 将作为带有红色 X 的空文本框显示在报表中。

在这两种情况下,报表都会升级为新的报表定义格式,且原始报表的备份副本会另存为 <报表名称> - Backup.rdl。 如果在报表创作工具中保存报表,则会以新的报表定义格式保存升级的报表。 如果发布报表,则报表首先保存在您的计算机上,然后发布到报表服务器。 您需要将报表的升级版本发布到报表服务器。

如果不保存报表,则原始报表将保持不变。 但是,不能在 SQL Server 2014 版本的 SQL Server Data Tools 中编辑此报表,也不能编辑使用较新的报表定义格式的报表创作环境。 可以使用报表管理器将其上传到 SQL Server 2014 Reporting Services (SSRS) 报表服务器,从而继续运行报表的原始版本。 有关详细信息,请参阅上传文件或报表(报表管理器)

对于上载而不是发布到报表服务器的报表,报表处理器将在第一次使用该报表时确定是否可以将它升级。 对于无法升级的报表,将以向后兼容模式对其进行处理,并像在 Reporting Services的早期版本中那样继续显示它们。

另请参阅

升级和迁移 Reporting Services
SQL Server 2014 的 SQL Server Reporting Services 中的中断性变更
SQL Server 2014 中 SQL Server Reporting Services 的行为变更
SQL Server 2014 的 SQL Server Reporting Services 中已停止使用的功能
自定义报表项
升级报表服务器数据库