使用子报表升级报表
当报表中包含子报表时,升级过程中会出现四种可能的状态之一:
主报表和所有子报表都能成功地升级。它们由 SQL Server 2008 Reporting Services 报表处理器来处理。
主报表和所有子报表都不能升级。它们由 SQL Server 2005 Reporting Services 报表处理器来处理。
主报表可以升级,但一个或多个子报表不能升级。主报表由 SQL Server 2008 Reporting Services 报表处理器处理,但呈现的报表在不能升级的子报表将出现的位置显示消息“错误: 无法处理子报表”。
主报表不能升级,但一个或多个子报表可以升级。主报表由 SQL Server 2008 Reporting Services 报表处理器处理,但呈现的报表在子报表将出现的位置显示消息“错误: 无法处理子报表”。
如果看到错误“错误: 无法处理子报表”,则必须更改主报表或子报表的定义,以便可以由报表处理器的同一版本处理报表。
钻取报表没有此限制,因为它们被作为独立的报表处理。

使用自定义报表项升级报表
SQL Server 2005 Reporting Services 报表可能包含由第三方软件供应商提供并由系统管理员安装在报表创作计算机和报表服务器上的自定义报表项 (CRI)。可以按以下方式升级包含 CRI 的报表:
- SQL Server 2005 Reporting Services 报表服务器升级到 SQL Server 2008 Reporting Services 报表服务器。在首次使用时自动升级报表服务器上的已发布报表。
- SQL Server 2005 Reporting Services 报表上载到 SQL Server 2008 Reporting Services 报表服务器。报表将在首次使用时自动升级。
- 在 Business Intelligence Development Studio 的报表设计器中打开 SQL Server 2005 Reporting Services 报表。将创建原始报表的一个备份副本。发生以下两种情况之一:
- 报表中的所有 CRI 没有不受支持的功能。CRI 将转换为新报表定义架构中的报表项,以便升级整个报表。如果保存该文件,则它将保存在当前 RDL 命名空间中。
- 报表中的一个或多个 CRI 具有不受支持的功能。出现一个对话框,提示用户是转换这些 CRI 还是将它们保留不变。
- 报表中的所有 CRI 没有不受支持的功能。CRI 将转换为新报表定义架构中的报表项,以便升级整个报表。如果保存该文件,则它将保存在当前 RDL 命名空间中。
升级报表服务器上的报表
当 SQL Server 2005 Reporting Services 报表第一次在已升级到 SQL Server 2008 Reporting Services 报表服务器的报表服务器上运行时,该报表将自动升级到报表服务器支持的当前报表定义命名空间。该报表可能在升级之前已存在于报表服务器上,或该报表可能已通过报表管理器上载,或从 SQL Server 2005 BI Development Studio 中的报表设计器发布到报表服务器。
下表列出由报表服务器为报表中特定类型的 CRI 执行的升级操作。
CRI 类型 | 报表服务器升级操作 |
---|---|
第三方 CRI | 不执行升级。 由 SQL Server 2005 Reporting Services 报表处理器来处理。 |
具有不受支持的功能的 Dundas 2005 图表 CRI | 升级到最新的 RDL 架构。所有的 Dundas 2005 图表 CRI 都将转换为 SQL Server 2008 Reporting Services 图表数据区域。 由 SQL Server 2008 Reporting Services 报表处理器来处理。 |
不具有不受支持的功能的 Dundas 2005 仪表 CRI | 升级到最新的 RDL 架构。所有的 Dundas 2005 仪表 CRI 都将转换为 SQL Server 2008 Reporting Services 仪表数据区域。 由 SQL Server 2008 Reporting Services 报表处理器来处理。 |
具有不受支持的功能的 Dundas 2005 图表 CRI | 不执行升级。 由 SQL Server 2005 Reporting Services 报表处理器来处理。 |
具有不受支持的功能的 Dundas 2005 仪表 CRI | 不执行升级。 由 SQL Server 2005 Reporting Services 报表处理器来处理。 |