증상
2016 서비스 팩 3(SP3 SQL Server) 또는 2017 cu26 누적 업데이트 26(CU26)을 적용하고 변경 내용 추적 정리 저장 프로시저, sp_flush_commit_table_on_demand 또는 sp_flush_CT_internal_table_on_demand 실행하거나 변경 내용 추적 자동 정리가 실행되는 경우 다음과 같은 오류 메시지가 표시됩니다. SQL Server
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
또한 다음 오류가 오류 로그에 SQL Server 수 있습니다.
DateTime spidNum Error: 22122, Severity: 16, State: 1.
DateTime spidNum Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.
이 오류가 발생하면 변경 내용 추적 자동 정리는 사이드 테이블 또는 syscommittab 테이블에서 항목을 정리할 수 없습니다.
원인
SQL Server SP3 및 SQL Server 2017 CU26에서는 새 테이블 dbo를 도입했습니다. MSchange_tracking_history및 새 저장 프로시저인 sys.sp_add_ct_history 를 사용하여 변경 내용 추적 정리의 기록을 기록합니다. 이 테이블에는 현재 INT 데이터 cleanup_version선언된 열이 있습니다. sys.sp_add_ct_history 저장 프로시저에는 int로 선언된 @cleanup_version 매개 변수가 있습니다. 변경 내용 추적을 사용하는 사용 중 시스템에서 정리 버전은 주어진 간격으로 다양한 INT를 교차할 수 있습니다. 그런 다음 변경 내용 추적 정리가 실행될 때 이 테이블의 INT 열에 BIGINT 값을 삽입하려고 합니다. 그러면 "증상" 섹션에 설명된 오류가 생성됩니다.
해결 방법
이 문제는 다음 누적 업데이트에서 SQL Server.
각 새 누적 업데이트는 SQL Server 모든 핫픽스와 이전 누적 업데이트에 포함된 모든 보안 수정을 포함합니다. 다음에 대한 최신 누적 업데이트를 SQL Server.
필요한 핫픽스 정보:
이 문제는 다음 요구 사항 핫픽스에서 SQL Server.
해결 방법
이 문제가 발생하는 경우 2016 SP3 또는 2017 CU26에서 SQL Server SQL Server 빌드로 되돌리면 됩니다. Microsoft는 이 문제를 적극적으로 조사하고 있으며 해당 정보를 사용할 수 있는 경우 자세한 정보 및 추가 지침으로 이 문서를 업데이트할 것입니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참고 자료
Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 자세히 알아보습니다.