我已在我的Azure SQL服务器数据库上禁用了索引,然后使用resumable=on
选项开始重建它。我打破重建后,我无法恢复或中止它因为索引被禁用,我收到一个错误:
无法对禁用的索引执行指定的操作
最糟糕的是我无法创建任何其他索引,因为我得到另一个错误:
由于一个或多个索引当前处于可恢复索引重建状态,因此无法对ID为1918629878的“对象”执行此操作。有关更多详细信息,请参阅sys.index_resumable_operations。
我该如何解决这个问题?
请尝试使用下面提供的语句中止在线索引操作:
ALTER INDEX [IndexName] on [TableName] ABORT;
使用sys.index_resumable_operations
监视并检查可恢复索引重建的当前执行状态。
SELECT total_execution_time, percent_complete, name,state_desc,last_pause_time,page_count
FROM sys.index_resumable_operations;
你可以在完成%多少%后看到在线可恢复索引重建操作,如果当前状态是PAUSED
。当索引处于PAUSED
状态时,您不能删除索引,如果我们尝试,我们将得到此错误。
由于一个或多个索引当前处于可恢复索引重建状态,因此无法对ID为1918629878的“对象”执行此操作。有关更多详细信息,请参阅sys.index_resumable_operations。
要恢复在线索引操作,需要使用以下查询。
ALTER INDEX IX_tablename ON [Table_Name] RESUME
有关更多信息,请查看此Resumable Online Index Create in SQL Server