[SQL] MSSQL 인덱스가 선언된 상태에서 컬럼 타입 변경

만약 'TEST' 테이블을 생성하고 'IDX_TEST' 인덱스까지 생성한 경우,

인덱스가 없는 상태에서는 컬럼 타입을 변경할 때 문제가 발생하지 않지만,

인덱스가 있는 상태에서 컬럼 타입을 변경하려는 순간 에러 메세지가 출력되면서 변경이 되지 않는다.



이럴때 아래와 같은 방법을 사용하면 된다.

예) 만약 TEST 테이블의 CONTENT VARCHAR(255)를 TEXT 타입으로 변경



1) 인덱스 삭제

DROP INDEX TEST.IDX_TEST



2) 데이터 타입변경

ALTER TABLE TEST
ALTER COLUMN CONTENT TEXT



3) 인덱스 생성

CREATE INDEX IDX_TEST ON TEST (SEQ,MID,NAME,RGDATE) WITH PAD_INDEX, FILLFACTOR = 50



★ TEXT 타입은 인덱스 정의할 수 없다.

댓글

이 블로그의 인기 게시물

[LINUX] CentOS 부팅시 오류 : UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

[MSSQL] 데이터베이스가 사용 중이어서 배타적으로 액서스할 수 없습니다

구글코랩) 안전Dream 실종아동 등 검색 오픈API 소스를 공유합니다. (구글드라이브연동, 이미지 수집 소스)