2017. 4. 10. 10:52

[알림] SQL 업그레이드 패치 후 CDC 버그 - SQL 2012, SQL 2014, SQL2016 버전


일부 버전에서 CU 버전 으로 업그레이드 후 CDC의 변경 테이블에 업데이트 행의 순서대로 정렬되어야 하는데 잘 못 정렬이 되어 데이터 변경 반영이 잘 못 될 수 있는 버그가 발견 되었습니다.

해당 버그는 2017.03.22일에 최종 패치가 되었으며 관련 하여모든 누적 패치 파일이 수정되었습니다

 

현재는 CDC를 사용하고 있지 않지만.  사용하는 서버가 있다면 예전에 받아 업그레이 된 버전이 잘 못 된 것이기 때문에  추가로 누적 업데이트 버전을 설치해야 문제가 해결 됩니다

관련 설명 :

https://blogs.msdn.microsoft.com/sql_server_team/cdc-functionality-may-break-after-upgrading-to-the-latest-cu-for-sql-server-2012-2014-and-2016/?utm_source=Brent+Ozar+Unlimited%C2%AE+List&utm_campaign=228cf805e8-Weekly_Links_2017_04_09&utm_medium=email&utm_term=0_8e3e861dd9-228cf805e8-296468997&goal=0_8e3e861dd9-228cf805e8-296468997&mc_cid=228cf805e8&mc_eid=00ebe8618a

 


조짐

Microsoft SQL Server 2012, 2014 또는 2016 데이터베이스에 대해 변경 데이터 캡처  사용하도록 설정 하면 변경 테이블  __ $ 작업 열이 업데이트 된 행에 대해 잘못 정렬 될 수 있습니다행을 업데이트하면 변경 테이블에 __ $ 작업 에 대한 삭제 및 삽입과 함께 두 개의 행이 있습니다 . 그러나 삽입 작업이 예기치 않게 삭제 작업 전에 나타날 수 있습니다응용 프로그램이 기본 키 제약 조건을 사용하여 행을 다른 테이블에 다시 적용하면 다음 기본 키 위반이 발생할 수 있습니다.
 

메시지 2627, 수준 14, 상태 1,  6 PRIMARY KEY 제약 조건 ' Primary_Key_name '. ' table_name ' 개체에 중복 키를 삽입 할 수 없습니다 . 중복 키 값은 (  )입니다.

 

 

https://support.microsoft.com/en-us/help/3030352/fix-the-change-table-is-ordered-incorrectly-for-updated-rows-after-you