无法恢复禁用索引

问题描述 投票:1回答:2

我已在我的Azure SQL服务器数据库上禁用了索引,然后使用resumable=on选项开始重建它。我打破重建后,我无法恢复或中止它因为索引被禁用,我收到一个错误:

无法对禁用的索引执行指定的操作

最糟糕的是我无法创建任何其他索引,因为我得到另一个错误:

由于一个或多个索引当前处于可恢复索引重建状态,因此无法对ID为1918629878的“对象”执行此操作。有关更多详细信息,请参阅sys.index_resumable_operations。

我该如何解决这个问题?

sql sql-server azure indexing azure-sql-database
2个回答
0
投票

请尝试使用下面提供的语句中止在线索引操作:

ALTER INDEX [IndexName] on [TableName] ABORT;

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

© www.soinside.com 2019 - 2024. All rights reserved.