修复: 报表定义自定义扩展不会修改 RDL 文件如预期的那样在 SQL Server 2008 R2

适用于: SQL Server 2008 R2

Microsoft 为一个可下载文件分发 Microsoft SQL Server 2008 R2 的修补程序。 修补程序是累积性的因为每个新版本包含的所有修补程序和附带上一个 SQL Server 2008 R2 的所有安全修补程序的修补都程序版本。

症状


假定您使用报表定义自定义扩展 (RDCE) 来更改 Microsoft SQL Server 2008 R2 中的 SQL Server 2008 R2 报表定义语言 (RDL) 文件。 RDCE 处理该文件后,文件不会更改。 期望通过 RDCE 进行更改的文件。回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 RDCE 是一种功能,允许动态更改 RDL 文件的各个部分在运行报表之前的报告服务扩展。 有关详细信息,请参阅"更多信息"部分。

原因


因为 SQL Server 2008 R2 RDL 架构结构上不同于 SQL Server 2008年和 SQL Server 2005 中的 RDL 架构出现问题。 这种结构性差别导致合并原始 RDL 和更改的 RDL 失败的例程。

解决方案


SQL Server 2008 R2

累积更新 3 中首次发布此问题的修补程序。 有关如何为 SQL Server 2008 R2 中获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2261464 SQL Server 2008 R2 的累积更新包 3
回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 由于 Build 是累积性的,因此每个新修补程序版本包含之前的 SQL Server 2008 R2 修补程序版本所包括的所有修订程序和安全修补程序。 我们建议您考虑将应用包含此修复程序的最新的修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 在SQL Server 2008 R2 发布后SQL Server 2008 R2 生成发布

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息


在 SQL Server 2005 或 SQL Server 2008 RDL 文件中,RDCE 可以指定要替换的 RDL 文件的子集。 此子集可以包含页面、 页面页眉、 页面页脚或正文元素。 SQL Server 2008 R2 的 RDL 文件作为顶级容器,这些元素引入 ReportSections。 此修补程序更改 RDCE ReportSections 元素视为任意页面、 页面页眉、 页面页脚或正文元素的行为并触发和 RDL 文件中的该元素合并。

参考


有关 RDCE 的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:有关报表服务扩展的详细信息,请访问下面的 MSDN 网站:对于 SQL Server 的增量服务模式的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 增量服务模式是可以从 SQL Server 团队提供报告的问题的修补程序
有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499对于 Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明