启用索引和约束指南

索引被禁用后一直保持禁用状态,直到它重新生成或删除。您可以使用下列方法之一,重新生成禁用的索引来启用它:

  • 带 REBUILD 子句的 ALTER INDEX 语句
  • 带 DROP_EXISTING 子句的 CREATE INDEX
  • DBCC DBREINDEX

您可以使用下列语句之一,重新生成索引,并将其状态设为启用。

ms190645.note(zh-cn,SQL.90).gif注意:
当 ONLINE 选项设置为 ON 时,不能重新生成禁用的聚集索引。

在索引重新生成之后,任何因禁用索引而被禁用的约束必须手动将其启用。PRIMARY KEY 和 UNIQUE 约束可通过重新生成相关联的索引来启用。您必须重新生成(启用)索引才能启用引用 PRIMARY KEY 或 UNIQUE 约束的 FOREIGN KEY 约束。FOREIGN KEY 约束可使用 ALTER TABLE CHECK CONSTRAINT 语句来启用。

禁用的聚集索引如何影响非聚集索引

重新生成或删除禁用的聚集索引对非聚集索引的影响,取决于这两种索引类型的状态是禁用的还是启用的。下表概括了这些影响。

当禁用或启用聚集索引,禁用非聚集索引时,对聚集索引操作会对禁用的非聚集索引有如下影响。

当聚集索引操作为 禁用的非聚集索引

ALTER INDEX REBUILD。

保持禁用状态。

ALTER INDEX ALL REBUILD。

重新生成或启用。

DROP INDEX。

保持禁用状态。

CREATE INDEX WITH DROP_EXISTING。

保持禁用状态。

与聚集索引相关联的非聚集索引允许的操作,取决于这两种索引类型的状态是禁用还是启用。下表概括了非聚集索引允许的操作。

当非聚集索引操作为 且聚集和非聚集索引被禁用。 或聚集索引被启用而非聚集索引被禁用或启用。

ALTER INDEX REBUILD。

操作失败。

操作成功。

DROP INDEX。

操作成功。

操作成功。

CREATE INDEX WITH DROP_EXISTING。

操作失败。

操作成功。

请参阅

概念

重新组织和重新生成索引
禁用索引准则

其他资源

ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助