DBCC CHECKIDENT
관리 명령은 신원 카운터를 재설정하는 데 사용됩니다. 명령 구문은 다음과 같습니다.
DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]
예:
DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO
이전 버전의 Azure SQL Database에서는 지원되지 않았지만 지금 지원됩니다.
유의하시기 바랍니다 new_reseed_value
인수는 SQL Server 버전을 통해 변화되는 문서에 따라 :
테이블에 행이 있으면 다음 행이 new_reseed_value 값 과 함께 삽입됩니다 . SQL Server 2008 R2 이전 버전에서 삽입 된 다음 행은 new_reseed_value + 현재 증분 값을 사용합니다.
그러나 관찰 된 동작은 적어도 SQL Server 2012가 여전히 new_reseed_value + 현재 증분 값 논리를 사용한다는 것을 나타 내기 때문에이 정보가 잘못된 것입니다 (실제로는 잘못되었습니다) . 마이크로 소프트는 심지어 같은 페이지에서 발견 된 것과 도 모순된다 :Example C
C. 현재 아이덴티티 값을 새로운 값으로 강제
다음 예제에서는 AddressType 테이블의 AddressTypeID 열에있는 현재 ID 값을 10으로 설정합니다. 테이블에 기존 행이 있으므로 삽입 된 다음 행은 11을 값, 즉 새 현재 증분 값으로 사용합니다. 열 값에 1을 더한 값입니다.
USE AdventureWorks2012;
GO
DBCC CHECKIDENT ('Person.AddressType', RESEED, 10);
GO
그럼에도 불구하고 이것은 모두 최신 SQL Server 버전에서 다른 동작에 대한 옵션을 남깁니다. Microsoft가 자체 문서에서 내용을 정리할 때까지 사용하기 전에 실제 테스트를 수행하는 것이 유일한 방법이라고 생각합니다.