증상
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에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.