SQL Server에서 증분 ID의 시작 값 재설정 방법

SQL Server에서 데이터베이스 작업을 하다 보면 증분 ID의 시작 값을 재설정해야 하는 상황에 직면할 수 있습니다. 이는 데이터를 새로 시작하거나 특정 값 범위를 다시 순환하고 싶을 때 특히 개발 또는 테스트 단계에서 유용합니다. 이 블로그 포스트에서는 SQL Server에서 ID 열의 시작 값을 재설정하는 과정을 명확하고 간결하게 설명합니다.

ID 열 이해하기

증분 ID 값을 재설정하는 단계로 들어가기 전에, ID 열이 무엇인지 간단히 설명해 보겠습니다:

  • ID 열: ID 열은 SQL Server 테이블의 특수한 열로, 새 행이 추가될 때마다 자동으로 순차 번호를 생성합니다. 일반적으로 이 열은 IDENTITY 속성으로 정의됩니다.

ID 열이 있는 테이블을 생성할 때는 다음과 같이 설정할 수 있습니다:

CREATE TABLE ExampleTable (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    Name VARCHAR(50)
);

이 예에서는 첫 번째 행의 ID값이 1, 두 번째 행의 ID값이 2로 설정되며, 계속해서 1씩 증가합니다. 그러나 가끔은 이 시퀀스를 특정 숫자—종종 0 또는 1—로 재설정해야 할 필요가 있습니다. 예를 들어, 테스트 데이터를 다시 로드할 때가 그러합니다.

ID 값 재설정하기

SQL Server에서 ID 열의 시작 값을 재설정하려면 DBCC CHECKIDENT 명령어를 사용할 수 있습니다. 아래는 그 방법에 대한 설명입니다:

단계 1: 테이블 식별하기

변경 사항을 적용하기 전에, ID 열을 재설정할 테이블을 식별합니다. 이 가이드에서는 테이블 이름을 TableName이라고 가정합니다.

단계 2: DBCC CHECKIDENT 명령어 사용하기

ID 값을 재설정하기 위한 명령어 구문은 간단합니다:

DBCC CHECKIDENT('TableName', RESEED, 0);
  • DBCC CHECKIDENT: 이 명령어는 지정된 테이블의 현재 ID 값을 확인하고 필요시 재설정할 수 있습니다.
  • ‘TableName’: 이 부분을 실제 테이블 이름으로 교체합니다.
  • RESEED: 이 키워드는 시작 값을 재설정하고자 함을 나타냅니다.
  • 0: 이것은 ID 열의 새로운 시작 값입니다. 필요에 따라 어떤 값으로든 변경할 수 있지만, 이 명령어 실행 후 첫 번째로 삽입되는 행은 이 값을 가지며 이후 값은 여기에서 증가합니다.

단계 3: 재설정 확인하기

ID 값이 재설정되었는지 확인하려면, 테이블에 새로운 행을 삽입하고 ID 값을 확인하세요:

INSERT INTO TableName (Name) VALUES ('Test Entry');
SELECT * FROM TableName;

재설정한 시작 점에 따라 새로운 항목의 ID1 (또는 0)이 되어야 합니다.

결론

SQL Server에서 증분 ID의 시작 값을 재설정하는 것은 DBCC CHECKIDENT 명령어를 사용하여 간단한 과정입니다. 이 기능은 특히 테스트나 개발 단계에서 유용하여 식별자가 일관되며 예측 가능하게 되어 워크플로를 간소화할 수 있습니다.

이제 ID 열을 재설정하는 확고한 템플릿을 손에 쥐게 되었습니다. 즐거운 코딩 되세요!