--다음 예에서는 AdventureWorks 데이터베이스에 있는 Employee 테이블의 현재 ID 값을 1로 설정합니다.

USE AdventureWorks;
GO
DBCC CHECKIDENT ("HumanResources.Employee", RESEED, 1);
GO

 

DBCC CHECKIDENT ( table_name, NORESEED )

현재 ID 값을 다시 설정하지 않습니다. DBCC CHECKIDENT는 ID 열의 현재 ID 값과 현재 최대값을 반환합니다. 두 값이 같지 않으면 ID 값을 다시 설정하여 잠재적 오류를 방지하고 값이 간격 없이 순서대로 지정되도록 해야 합니다.

DBCC CHECKIDENT ( table_name)

또는

DBCC CHECKIDENT ( table_name, RESEED )

테이블의 현재 ID 값이 ID 열에 저장된 최대 ID 값보다 작을 경우 ID 열의 최대값을 사용하여 다시 설정됩니다.

DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )

현재 ID 값이 new_reseed_value로 설정됩니다. 테이블이 생성된 후 삽입된 행이 없는 경우에는 DBCC CHECKIDENT를 실행한 후에 처음 삽입되는 행이 new_reseed_value를 ID로 사용하게 됩니다. 그렇지 않으면 다음에 삽입된 행은 new_reseed_value + 현재 증분 값을 사용합니다.

테이블이 비어 있지 않은 경우 ID 값을 ID 열의 최대값보다 작은 숫자로 설정하면 다음 조건 중 하나가 발생할 수 있습니다.

  • ID 열에 PRIMARY KEY 또는 UNIQUE 제약 조건이 있으면 생성된 ID 값이 기존 값과 충돌하므로 나중에 테이블에 삽입 작업을 수행할 때 오류 메시지 2627이 생성됩니다.
  • PRIMARY KEY 또는 UNIQUE 제약 조건이 없으면 나중에 삽입 작업을 수행할 때 중복 ID 값이 생성됩니다.

+ Recent posts