KB2619077 - 修复:当后台清除操作缺少的任务尝试删除缺少的索引项时出现访问冲突

应用对象
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Microsoft将 Microsoft SQL Server 2008 Service Pack 2 (SP2) 修补程序分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含上一个SQL Server 2008 SP2 更新版本中包含的所有修补程序和所有安全更新。

症状

请考虑以下情形:

  • 可以在 SQL Server 2008、SQL Server 2012 或 SQL Server 2014 的实例中启用数据库的AUTO_CLOSE选项。

  • 数据库对象的一个或多个缺失索引条目位于缺少的索引动态管理视图中。

  • 已关闭与该数据库建立的所有连接。

    注意 当所有连接都关闭时,数据库应会自动关闭。

  • 同时,后台清除操作的任务会尝试删除缺少的索引项。 运行任务的线程与关闭数据库的线程不同。

在这种情况下,发生访问冲突。 此外,必须重启 SQL Server 实例才能解决此问题。

原因

出现此问题的原因是,当后台清除操作的缺失任务尝试删除缺少的索引项时,会多次调用免费方法。

解决方法

此问题首先在以下SQL Server累积更新中得到解决。

SQL Server 2014 SP1 /zh-cn/help/3067839 的累积更新 1

SQL Server 2014 /en-us/help/3067836 的累积更新 8

SQL Server 2012 SP2 /help/3052468 的累积更新 6

SQL Server 2008 SP2 /help/2617148 的累积更新 7

关于 SQL Server 的累积更新

SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:

      

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

解决方法

若要解决此问题,请禁用数据库的 AUTO_CLOSE 选项。