【IT168 技术文档】SQL Server 2008 引入了对报表定义语言 (RDL)、报表对象模型以及呈现对象模型的更改,这些更改影响在早期版本的软件中创建的报表。将 SQL Server 2005 Reporting Services 安装升级到 SQL Server 2008 Reporting Services 安装时,已上载到报表服务器的现有报表和快照将在第一次进行处理时自动升级为新的架构。如果报表不能自动升级,则将使用向后兼容模式处理报表。
在 Business Intelligence Development Studio 中的报表设计器中打开现有报表定义 (.rdl) 文件时,这些文件将自动升级。
升级报表后,您可能注意到出现附加的错误、警告和消息。这是对内部报表对象模型和处理组件进行更改的结果,当在报表中检测到根本问题时,将导致出现这些消息。
能够升级的版本
在 Reporting Services 的以前任一版本中创建的报表可以升级。包括下列版本:
- SQL Server 2000
- SQL Server 2000 Service Pack 1
- SQL Server 2000 Service Pack 2
- SQL Server 2005
- SQL Server 2005 Service Pack 1
- SQL Server 2005 Service Pack 2
报表定义 (.rdl) 文件和报表设计器
报表定义文件包括对 RDL 命名空间的引用,该命名空间指定了用于验证 rdl 文件的报表定义架构的版本。
当您在 Business Intelligence Development Studio 的报表设计器中打开某个 .rdl 文件时,如果报表是针对先前命名空间创建的,报表设计器会自动创建一个备份文件,并将该报表升级到当前命名空间。如果保存升级后的报告定义,则同时还会保存转换后的 .rdl 文件。一旦保存,就不能在早期版本的报表设计器中将其打开。这是升级报表定义文件的唯一方法。
可以将在早期版本的 Reporting Services 中创建的 .rdl 文件上载到 SQL Server 2008 报表服务器,该报表将在第一次使用时自动升级。报表服务器将以原始格式存储报表定义文件。报表将在第一次被查看时自动升级,但是存储的报表定义文件仍保持不变。
已发布的报表和报表快照
第一次使用时,报表服务器会尝试将现有的已发布报表和报表快照升级为新的报表定义架构,不需要您执行特定操作。当用户查看报表或报表快照时,或者当报表服务器处理订阅时,将尝试进行升级。报表定义不会被替换,而是继续存储在它在 SQL Server 2008 报表服务器上的原始架构中。如果报表不能升级,则报表将在向后兼容模式下运行。
向后兼容模式
成功升级的报表由 SQL Server 2008 Reporting Services 报表处理器进行处理。不能升级的报表由 SQL Server 2005 Reporting Services 报表处理器在向后兼容模式下进行处理。一个报表不能同时由这两个报表处理器来处理。
第一次使用时,报表将成功升级或标记为向后兼容。
只有 SQL Server 2008 Reporting Services 报表处理器才支持新功能,例如按需分页、Tablix 数据区域、仪表数据区域以及增强的图表数据区域。如果报表不能升级,您仍然可以查看呈现的报表,但不能使用新功能。若要利用新功能,必须成功地升级报表。