소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

DataBase/SQL Server

DBCC CHECKIDENT란 무엇일까?

탑~! 2026. 4. 30. 09:54

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