MSSQL
2023. 11. 27.
MSSQL : Identity Jump 1000
MS SQL Server 2012부터 도입된 'Identity Cache’라는 기능 때문에 발생하는 현상입니다. 이 기능은 성능 향상을 위해 identity 값을 캐시에 저장하고, 데이터베이스 장애나 서버 재시작 시 일부 할당된 값이 손실될 수 있습니다. 이로 인해 identity 값에 간격이 생길 수 있습니다. 예를 들어, ID 컬럼의 값이 1, 2이고 ID 점프가 발생하면 다음 ID 컬럼의 값은 3이 아니라 1003이 될 수 있습니다. 이 현상은 버그가 아니라 의도된 동작입니다. Identity 값은 유일성만 보장하고, 연속성은 보장하지 않습니다. 만약 연속성이 필요하다면, 애플리케이션에서 자체적으로 키 값을 생성하거나, NOCACHE 옵션을 사용하는 시퀀스 생성기를 사용해야 합니다. 또한, 데이터베..