KB4046745-FIX: UPDATE 문은 SQL Server 2014, 2016 또는 2017의 WHERE 절에서 존재 하지 않는 파티션 함수를 참조할 때 자동으로 실패 합니다.

증상

Microsoft SQL Server 2014, 2016 또는 2017에서 $PARTITION 키워드를 사용 하 여 존재 하지 않는 파티션 함수를 참조 하는 UPDATE 문이 있다고 가정 합니다. 예를 들어

업데이트 TableName SET ColumnName= ' xyz ' $PARTITION 위치 비 Existingslot 함수 (ColumnName) = 1

이 상황에서는 SQL Server가 업데이트를 수행 하지 않거나, 그렇지 않은 Existingslot 함수 개체가 없음을 나타내기 위해 오류 메시지를 반환 합니다. 그러나 사용자 관점에서는 UPDATE 문이 성공적으로 실행 되는 것 처럼 보이지만 실제로는 실패 했습니다.

원인

일괄 처리를 실행 하면 SQL Server에서 지연 된 이름 확인 (DNR)을 수행할 수 있습니다. 이 프로세스에서 SQL Server는 존재 하지 않는 개체를 발견 하면 즉시 오류를 생성 하지 않으며 해당 개체를 참조 하는 문을 실행 하기 전에 모듈이 나 일괄 처리를 통해 개체가 생성 될 것으로 예상 합니다. 파티션 함수의 경우 SQL Server가 DNR를 올바르게 처리 하지 못합니다.

추가 정보

DNR에 대 한 자세한 내용은 지연 된 이름 확인을 참조 하세요.

해결 방법

이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.

       SQL Server 2016 SP1 용 누적 업데이트 8 

       SQL Server 2017 누적 업데이트 4 

       SQL Server 2014 SP2에 대 한 누적 업데이트 9

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

SQL Server 2016의 최신 누적 업데이트

SQL Server 2017의 최신 누적 업데이트

SQL Server 2014의 최신 누적 업데이트

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

참조

Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×