Applies ToSQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise Core SQL Server 2017 Enterprise SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

증상

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에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.