테이블 삭제

새 디자인을 구현하거나 데이터베이스에서 사용 가능한 공간을 확보하려는 경우 등에는 테이블을 삭제해야 할 수도 있습니다. 데이터베이스에서 테이블을 삭제하면 테이블의 구조 정의, 데이터, 전체 텍스트 인덱스, 제약 조건 및 인덱스가 데이터베이스에서 영구적으로 삭제되며 테이블 및 인덱스를 저장하는 데 사용한 공간을 다른 테이블이 사용할 수 있게 됩니다. 테이블이 자동으로 삭제될 때까지 기다리지 않으려면 임시 테이블을 삭제하면 됩니다.

FOREIGN KEY 및 UNIQUE 또는 PRIMARY KEY 제약 조건을 통해 연결된 테이블을 삭제하려면 먼저 FOREIGN KEY 제약 조건이 있는 테이블을 삭제해야 합니다. FOREIGN KEY 제약 조건에서 참조된 테이블을 삭제해야 하는데 전체 외래 키 테이블을 삭제할 수 없으면 먼저 FOREIGN KEY 제약 조건을 삭제해야 합니다.

테이블 자체는 그대로 두고 테이블의 데이터만 모두 삭제하려면 테이블을 자르면 됩니다. 자세한 내용은 TRUNCATE TABLE을 사용하여 모든 행 삭제을 참조하십시오.

삭제에 필요한 모든 익스텐트에서 동시 잠금을 설정하지 않고도 익스텐트를 128개 이상 사용하는 큰 테이블과 인덱스를 삭제하거나 자를 수 있습니다. 데이터베이스 엔진에서는 큰 개체 삭제 시 논리적 단계와 물리적 단계로 나누어 관리합니다. 논리적 단계에서는 테이블에 사용되는 기존 할당 단위가 할당 취소로 표시되고 트랜잭션이 커밋될 때까지 잠깁니다. 물리적 단계에서는 할당 취소로 표시된 할당 단위가 일괄 처리를 통해 실제로 삭제됩니다. 자세한 내용은 큰 개체 삭제 및 다시 작성을 참조하십시오.

테이블을 삭제하려면

DROP TABLE(Transact-SQL)

FOREIGN KEY 제약 조건을 삭제하려면

ALTER TABLE(Transact-SQL)

테이블을 자르려면

TRUNCATE TABLE(Transact-SQL)

참고 항목

관련 자료