시스템의 객체에 대한 추적 번호를 생성하는 시퀀스가 있습니다. 꽤 오랫동안 작동했습니다.
지난 주에 우리는 값을 재사용하기 시작했습니다.
일어날 것으로 보이는 것은 저녁의 다른 지점에서 전날의 값으로 롤백한다는 것입니다. 그런 다음 해당 지점에서 값을 계속 생성합니다.
예를 들어 다음과 같은 것을 얻을 수 있습니다.
10112
10113
10114
10115
10116
10117
10118
10113
10114
10115
10116
...
첫 사용과 두 번째 사용 사이의 기간 (10 분 또는 몇 시간) 또는 롤백 된 수 (1과 수백) 사이에 패턴이없는 것 같습니다.
나는 추적을 실행하는 것에 대해 생각했지만 여전히 시퀀스 객체가 직접 수정되고 있다고 생각하지 않습니다. 내가 생각하는 이유는 수정 날짜가 며칠이었고 중복을 시도하고 제거하기 위해 수동으로 값을 올린 시간을 가리 키기 때문입니다. (그리고 그 이후로 문제가 여러 번 발생했습니다.)
누구든지 매일 밤 시퀀스 롤백 및 재사용 값을 유발할 수있는 아이디어가 있습니까?
업데이트 : 의견에 몇 가지 질문에 대답하려면 :
@@Version
:Microsoft SQL Server 2012 (SP1)-11.0.3000.0 (X64) 2012 년 10 월 19 일 13:38:57
스크립트 작성 :
CREATE SEQUENCE [schemaName].[SequenceName] AS [bigint] START WITH 410014104 INCREMENT BY 1 MINVALUE 410000000 MAXVALUE 419999999 CYCLE CACHE GO
고유 제한 조건이 없습니다 (그러나이를 사용할 계획입니다). 그러나 그것은 내가 가치를 재사용했을 때 나에게만 도움이 될 것입니다. 값이 재설정 된 원인이 아닙니다. 나는 5 분마다 새로운 가치를 얻을 수있는 직업을 세웠다. 시간과 값 점프는 패턴을 따르지 않습니다.
- 이벤트 로그를 확인하여 오류가 있는지 확인했습니다. 다음은이가 일어나고 있다고 생각 http://support.microsoft.com/kb/2793634 우리는 오늘 수정 사항을 적용하고 있습니다. 나는 이것들이 관련이 없다고 생각하지만 그럴 수 있습니다.