Microsoft 将 Microsoft SQL Server 2008 Service Pack 3 修复作为一个可下载文件进行分发。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 Service Pack 3 修复版本附带的所有修补程序和所有安全修补程序。
症状
请考虑以下情况:
-
SQL Server 2008 中有一个表,在 SQL Server 2008 R2 或 SQL Server 2012 中有一个 xml 数据类型列,并且此列与 XML 架构相关联。
-
定义与 XML 架构不关联的 XML 数据类型变量。
-
运行尝试将 XML 列中的值转换为 XML 变量的查询。
在这种情况下,会发生断言错误。 此外,查询执行将失败,并且你会收到类似于以下内容的错误消息:
位置: tmpilb:2580Expression: 76Process ID:2244Description:尝试访问已过期的 blob 句柄(3)位置: tmpilb ID:2580Expression: fFalseSPID: 76Process ID:2244Description:尝试访问过期的 blob 句柄(3)消息3624,级别20,状态1,行2A 系统断言检查失败。 有关详细信息,请查看 SQL Server 错误日志。 通常,断言失败由软件错误或数据损坏导致。 若要检查数据库是否损坏,请考虑运行 DBCC CHECKDB。 如果你同意在安装期间将转储发送到 Microsoft,则会向 Microsoft 发送一个小转储。 从 Microsoft 的最新服务包或从技术支持部门获取的 QFE 中可能提供更新。 消息0、级别20、状态0、行0A 当前命令上出现严重错误。 应丢弃结果(如果有)。
解决方案
累积更新信息
SQL Server 2012 Service Pack 1 的累积更新包1
此问题的修补程序首次在累积更新1中发布。有关如何获取此累积更新包的 SQL Server 2012 Service Pack 1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2765331 SQL Server 2012 Service Pack 1 的累积更新包1注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 在发布 SQL Server 2012 Service Pack 1 之后发布的 SQL Server 2012 版本
SQL Server 2008 R2 Service Pack 2
此问题的修补程序首次在 SQL Server 2008 R2 Service Pack 2 的累积更新2中发布。有关如何获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2740411 SQL Server 2008 R2 Service Pack 2 的累积更新包2注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
SQL Server 2008 R2 Service Pack 1
此问题的修补程序首次发布,即累积更新8。有关如何为 SQL Server 2008 R2 Service Pack 1 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2723743 SQL Server 2008 R2 SP1 的累积更新程序包8注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 发布 SQL Server 2008 R2 SP1 后发布的 SQL Server 2008 R2 版本
SQL Server 2012
此问题的修补程序首次在 SQL Server 2012 的累积更新3中发布。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2723749 SQL Server 2012 累积更新包3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 Microsoft 建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本 必须将 SQL Server 2012 修补程序应用到 SQL Server 2012 的安装。
SQL Server 2008 Service Pack 3
此问题的修补程序首次发布于 SQL Server 2008 的累积更新6(Service Pack 3)。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2715953 SQL Server 2008 的累积更新包 6 Service Pack 3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本 为特定 SQL Server service pack 创建 Microsoft SQL Server 2008 修补程序。 必须将 SQL Server 2008 Service Pack 3 修补程序应用到 SQL Server 2008 Service Pack 3 的安装。 默认情况下,SQL Server service pack 中提供的任何修补程序都包含在下一个 SQL Server service pack 中。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
解决方法
若要解决此问题,请使用表使用的相同 XML 架构定义 XML 变量。
更多信息
有关并行散列连接的详细信息,请转到以下 MSDN 博客网站:
有关并行哈希联接的常规信息有关查询执行位图筛选器的详细信息,请转到以下 MSDN 博客网站: