다음을 통해 공유


인덱스 및 제약 조건 활성화에 대한 지침

인덱스는 비활성화되면 다시 작성되거나 삭제될 때까지 비활성화된 상태로 유지됩니다. 다음 방법 중 하나를 사용하여 인덱스를 다시 작성하여 비활성화된 인덱스를 활성화할 수 있습니다.

  • REBUILD 절과 함께 ALTER INDEX 문

  • DROP_EXISTING 절과 함께 CREATE INDEX

  • DBCC DBREINDEX

이러한 문 중에서 하나를 사용하여 인덱스를 작성하고 인덱스 상태를 활성화로 설정합니다.

[!참고]

ONLINE 옵션이 ON으로 설정된 경우 비활성화된 클러스터형 인덱스를 다시 작성할 수 없습니다.

인덱스를 다시 작성한 후에 해당 인덱스를 비활성화하여 비활성화된 제약 조건은 수동으로 활성화해야 합니다. 연관된 인덱스를 다시 작성하여 PRIMARY KEY 및 UNIQUE 제약 조건을 활성화합니다. PRIMARY KEY 또는 UNIQUE 제약 조건을 참조하는 FOREIGN KEY 제약 조건을 활성화하기 전에 이 인덱스를 다시 작성(활성화)해야 합니다. ALTER TABLE CHECK CONSTRAINT 문을 사용하여 FOREIGN KEY 제약 조건을 활성화합니다.

비활성화된 클러스터형 인덱스가 비클러스터형 인덱스에 미치는 영향

비활성화된 클러스터형 인덱스를 다시 작성하거나 삭제할 경우 비클러스터형 인덱스에 미치는 영향은 두 인덱스 유형의 상태(비활성화되어 있는지 또는 활성화되어 있는지)에 따라 다릅니다. 다음 표에는 이러한 영향이 요약되어 있습니다.

클러스터형 인덱스를 비활성화하거나 활성화하고 비클러스터형 인덱스를 비활성화하면 클러스터형 인덱스 동작으로 인해 다음과 같은 결과가 비활성화된 비클러스터형 인덱스에 나타납니다.

클러스터형 인덱스 동작이 다음과 같은 경우

비활성화된 비클러스터형 인덱스

ALTER INDEX REBUILD

비활성화된 상태로 유지됩니다.

ALTER INDEX ALL REBUILD

다시 작성되고 활성화됩니다.

DROP INDEX

비활성화된 상태로 유지됩니다.

CREATE INDEX WITH DROP_EXISTING

비활성화된 상태로 유지됩니다.

클러스터형 인덱스와 연관된 비클러스터형 인덱스에 허용된 동작은 두 인덱스 유형의 상태(비활성화되어 있거나 활성화되어 있는지)에 따라 다릅니다. 다음 표에는 비클러스터형 인덱스에 허용된 동작이 요약되어 있습니다.

비클러스터형 인덱스 동작이 다음과 같은 경우

그리고 클러스터형 인덱스와 비클러스터형 인덱스가 비활성화됩니다.

또는 클러스터형 인덱스가 활성화되고 비클러스터형 인덱스는 비활성화되거나 활성화됩니다.

ALTER INDEX REBUILD

동작이 실패합니다.

동작이 성공합니다.

DROP INDEX

동작이 성공합니다.

동작이 성공합니다.

CREATE INDEX WITH DROP_EXISTING

동작이 실패합니다.

동작이 성공합니다.