症状
假设你在 Microsoft SQL Server 2012 或 SQL Server 2014 中运行重建索引任务(维护计划),并且该索引包含一个或多个 XML、varchar (max)、nvarchar (max)或 varbinary (max)列。 在这种情况下,该任务作为脱机操作执行, 即使已 选中 "维护计划向导Note " 中的 "重新编制索引时保留索引" 复选框,Microsoft SQL Server 2012 引入了一项新功能,该功能允许作为联机操作创建、重新生成和删除包含 XML、varchar (max)、nvarchar (max)和 varbinary (max)列的索引。
原因
出现此问题的原因是维护计划不会考虑新功能。
解决方案
此问题首先在 SQL Server 的以下累积更新中修复。
SQL Server 2014 SP1 的累积更新2 /en-us/help/3075950
SQL Server 2014 累积更新6 /en-us/help/3031047
SQL Server 2012 SP2 的累积更新4 /en-us/help/3007556
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要解决此问题,请按照下列步骤操作:
-
在 SQL Server Management Studio 中的对象资源管理器中的 "管理树视图" 节点中打开维护计划。
-
右键单击 " 重建索引任务 ",然后单击 " 编辑"。
-
单击 " 查看 t-sql ",然后将 transact-sql 语句复制到纯文本文件。
-
修改 Transact-sql 语句以使用联机操作,联机 = 关闭到联机操作。
-
运行 transact-sql 语句或为 Transact-sql 语句创建新的 Sql Server 代理 T-sql 作业,然后进行调度。
参考
有关 SQL Server 2012 中的此新功能的详细信息,请参阅 联机索引创建、重建和删除。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。