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 的累积更新1 /en-us/help/3067839
SQL Server 2014 的累积更新8 /en-us/help/3067836
SQL Server 2012 SP2 的累积更新6 /en-us/help/3052468
SQL Server 2008 SP2 的累积更新7 /en-us/help/2617148
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
解决方法
若要解决此问题,请禁用数据库的 AUTO_CLOSE 选项。