DBCC CHECKIDENT 명령어에 대한 정리이다.
해당 명령어는 identity(자동증가열)을 초기화시키는데 목적이 있다.
사용 방법은 아래의 예제와 같다.
-- 입력한 테이블에서의 IDENTITY 값 확인
DBCC CHECKIDENT('[테이블명]', NORESEED)
-- IDENTITY 값 변경 (IDENTITY값이 500으로 변경된다.)
DBCC CHECKIDENT('[테이블명]', RESEED, 500)
-- IDENTITY 값 초기화 (IDENTITY값을 0으로 초기화 시킨다.)
DBCC CHECKIDENT('[테이블명]', RESEED, 0)
위의 예제처럼 identity의 값을 확인 및 수정할 수 있다.
Truncate로 테이블을 삭제하면 Identity값이 알아서 초기화가 되는데, Delete는 Identity의 값이 초기화가 안된다.
근데 쿼리를 돌리다보면 Truncate로 테이블 행을 삭제할 때 FK 제약조건이 걸려있으면 사용하질 못하는데 이럴때 Delete로 해당 행을 삭제시켜주고 dbcc checkident로 identity의 값을 초기화 시키는 방법도 있다.
(정리 : Truncate를 FK 제약조건 참조로 실행 안됨 -> 전체 행 Delete + dbcc checkident 실행)
728x90
반응형
'DataBase > SQL Server' 카테고리의 다른 글
| 인덱스 조회 (0) | 2026.04.30 |
|---|---|
| 서브쿼리(SubQuery) 특징 (0) | 2026.04.30 |
| 프로시저 전체 삭제 쿼리 (0) | 2026.04.30 |
| SP 쿼리 실행 이력 조회 쿼리 (0) | 2026.04.30 |
| SP 마지막 호출 시간 조회 (0) | 2026.04.30 |