症状
联机索引重建与并发修改 Microsoft SQL Server 2012年或 Microsoft SQL Server 2014年中的多行的查询一起使用时可能导致索引损坏或数据丢失。例如,复制时联机索引生成运行在同一个表上同时更新多行的表。
满足以下条件时,会发生此问题︰
-
联机索引生成查询在并行模式下的运行。
-
按特定顺序发生死锁错误和致命的错误,"锁超时"等。
注意:若要变通解决此问题,请在串行模式下运行联机索引生成 (DOP = 1)。
解决方案
累积更新信息
第一次修复该问题的SQL Server累积更新包
SQL Server 2012 sp1 的累积更新 11/en-us/help/2975396
SQL Server 2012 sp2 的累积更新 1/en-us/help/2976982
对于 SQL Server 2014年累积更新 2/en-us/help/2967546
SQL Server 的每个新累积更新包含以前的累积更新所包含的所有修补程序和所有安全修补程序。查看 SQL Server 的最新累积更新:
SQL Server 2012年修补程序信息可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。
如果此修复程序可供下载,则在此知识库文章顶部"提供修补程序下载"部分。如果未显示此部分,将申请提交到 Microsoft 客户服务和支持,以获取此修复程序。
注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰
http://support.microsoft.com/contactus/?ws=support注意:"修补程序下载可用"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。
注意:应用此修复程序后,扩展的事件progress_report_online_index_operation error_number数据字段已添加到该事件中将另外包含错误的详细信息。此字段可用于在联机索引操作过程中确定任何内部故障。
重启要求应用此修补程序后,不需要重新启动计算机。
修补程序替换信息此修补程序不替代以前发布的修补程序。
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。