Microsoft 将 Microsoft SQL Server 2012 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。
症状
假设在 Microsoft SQL Server 2012 数据库中有一个包含超过2000000000行的表。 尝试为表生成列存储索引,或者运行某些查询来扫描列存储索引。 在这种情况下,会发生访问冲突。 此外,将在 SQL Server 错误日志中记录类似于以下内容的错误消息,并生成转储文件:
日期时间 spid# 使用 "dbghelp" 版本 "4.0.5" 的日期时间 spid # * * * 堆栈转储被发送到 Drive: \Data1\MSSQL\MSSQL11。InstanceName\MSSQL\Log\SQLDump0193.txt日期时间 spid # SqlDumpExceptionHandler: Process # 生成了严重的异常 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在终止此进程。日期时间 spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Date Time spid # * * * * *Date Time spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *日期时间 spid # * 日期时间 spid #日期时间 spid # *日期时间 spid # *日期时间 spid # * 异常地址 = 000007FEEABDC8E4 模块(未知 + 0000000000000000)日期时间 spid # * 异常代码 = c0000005 EXCEPTION_ACCESS_VIOLATION日期时间 spid # * 读取地址0000000D573C6038 出现访问冲突
原因
出现此问题的原因是,在读取数据时截断的哈希表保持错误。
解决方案
累积更新信息
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 2012 累积更新包3
此问题的修补程序首次在累积更新3中发布。有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2723749 SQL Server 2012 的累积更新3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。