증상
Microsoft SQL Server 2012 또는 SQL Server 2014에서 sequence 개체를 정의 했다고 가정 합니다. 동일한 시퀀스 개체 (예: 서로 다른 동시 연결 또는 다중 스레드 응용 프로그램)에서 system 저장 프로시저와 NEXT 값 을 병렬로 sp_sequence_get_range 실행 하면 중복 시퀀스 값이 생성 됩니다.
원인
이 문제는 같은 sequence 개체에서 병렬로 실행 될 때 sp_sequence_get_range 시스템 저장 프로시저와 NEXT 값 이 함수에 대 한 경합 조건 때문에 발생 합니다. 둘 다 시퀀스 생성기의 현재 값을 읽고 씁니다. 그러나 그 사이에 올바른 동기화 메커니즘이 부족 합니다.
해결 방법
서비스 팩 정보
이 문제를 해결 하려면 SQL Server 2014에 대 한 서비스 팩 1을 구합니다.
SQL Server 2014 SP1(서비스 팩 1)에 대 한 자세한 내용은 Sql server 2014 서비스 팩 1에서 해결 된 버그를 참조 하세요. 이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2014에 대 한 누적 업데이트 6 /en-us/help/3031047
SQL Server 2012 SP2의 누적 업데이트 4 /en-us/help/3007556
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.