我已在Azure SQL服务器数据库上禁用了索引,然后开始使用resumable=on
选项重建索引。中断重建后,由于索引已禁用,我无法恢复或中止重建,并且出现错误:
无法对禁用的索引执行指定的操作
最糟糕的是,当出现另一个错误时,我无法创建任何其他索引:
无法对ID为1918629878的“对象”执行以下操作: 当前有更多索引处于可恢复索引重建状态。请 有关更多详细信息,请参考sys.index_resumable_operations。
我该如何解决?
答案 0 :(得分:0)
请尝试使用以下提供的语句中止在线索引操作:
BridgingManager.fromContext(context).setConfig(
BridgingConfig.Builder(context, false)
.addExcludedTag("not_this_one")
.build()
)
答案 1 :(得分:0)
使用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