증상
Microsoft SQL Server 2012 또는 SQL Server 2014에서 쿼리를 실행 하 고 다음 조건에 해당 하는 경우 SQL Server 2012에서 최적이 아닌 실행 계획이 생성 됩니다.
-
쿼리에는 Case, if, WhenThen, if 문이 포함 되어 있습니다.
-
If 문에는 " false"로 평가 되는 상수 조건이 있습니다.
-
Then 문에 Select 절이 포함 됩니다.
참고
-
실행 계획에서 Then 문은 계산 되 고 isFalseOrNull(0)으로 비교 됩니다. 그러나 if 문은 항상 "false"로 평가 됩니다.
-
Microsoft SQL Server 2008 R2에서는이 문제가 발생 하지 않습니다.
해결 방법
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2014 누적 업데이트 1 /en-us/help/2931693
SQL Server 2012 SP1 용 누적 업데이트 7 /en-us/help/2894115
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.