6

text 열의 인덱스 테이블에 클러스터 된 인덱스가 있습니다. ID 같은 다른 열로 해당 열을 전환하려면 어떻게 인덱스를 변경합니까?클러스터 된 인덱스 열 변경

Azure에서 실행 중이며 테이블에 항상 클러스터 된 인덱스가 있어야하므로 삭제 및 다시 생성 할 수 없습니다.

색인에서 색인 열을 변경하기위한 SQL 명령 및 구문.

alter index?

+0

캔트 당신이 필요한 열에서 새 클러스터 된 인덱스를 추가 한 다음 이전을 드롭? –

+0

@AjoKoshy : 아니요. ** 테이블에 클러스터 된 인덱스가 두 개 이상있을 수 없습니다! –

답변

5

클러스터 된 인덱스를 변경할 수 없습니다.

유일한 옵션은 삭제하고 새 열을 사용하여 다시 만드는 것입니다.

경우에 따라 ID에 새로운 클러스터 된 인덱스를 사용하여 테이블을 다시 만든 다음 데이터를 복사해야 할 수 있습니다.

9

이 시도 :

create clustered index [your_index_name] 
on [your_table] 
    ([ID]) 
with (drop_existing = on) 
+0

그것은 나를 위해 작동하지 않았다 : 메시지 1907, 수준 16, 상태 1, 줄 1 색인 'my_index_name'을 (를) 다시 만들 수 없습니다. 새 인덱스 정의가 기존 인덱스에 의해 강제되는 제약 조건과 일치하지 않습니다. –

+1

내 생각 엔 클러스터 된 인덱스가 기본 키이기도합니다. 이 경우, 삭제하고 다시 작성해야합니다. –

+1

이 기능은 기본 키의 클러스터형 인덱스 없음에서 효과적입니다. 감사! – kspearrin

관련 문제