증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2012 R2의 비동기 고성능 모드에서 데이터베이스 미러링을 사용 합니다.
-
주 데이터베이스에서 변경 내용 추적을 사용 하도록 설정 합니다.
-
미러 데이터베이스에서 데이터베이스 스냅숏을 만들 수 있습니다.
-
데이터베이스 스냅숏에 CHANGE_TRACKING_CURRENT_VERSION () 함수를 사용 하 여 마지막으로 커밋된 트랜잭션에 연결 된 버전을 확인 합니다.
이 시나리오에서는 CHANGE_TRACKING_CURRENT_VERSION () 함수의 반환 값이 잘못 되었습니다. 0 이거나 주 데이터베이스에서 반환 된 값 보다 낮습니다.
원인
데이터베이스 스냅숏에서 함수 처리와 관련 된 오류로 인해 문제가 발생 합니다. CHANGE_TRACKING_CURRENT_VERSION () 함수는 데이터베이스 스냅숏에서 잘못 된 값을 반환 합니다.
해결 방법
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다. 핫픽스를 적용 하면 SQL Server가 CHANGE_TRACKING_CURRENT_VERSION () 함수 논리를 변경 합니다. 데이터베이스 스냅숏에 대 한 CHANGE_TRACKING_CURRENT_VERSION () 함수의 반환 값이 올바릅니다.
SQL Server 2008 R2 SP2에 대 한 누적 업데이트 11 /en-us/help/2926028
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.