증상
Microsoft SQL Server 2014을 사용 한다고 가정 합니다. SQL Server 2014 릴리스 정보에 포함 된 다음 두 가지 문제가 발생할 수 있습니다.
-
누락 된 인덱스 정보에 메모리 최적화 테이블 문제에 대 한 포함 열이 잘못 보고 되는 경우: SQL Server 2014에서 메모리 최적화 테이블의 쿼리에 대해 누락 된 인덱스를 감지 하면 SHOWPLAN_XML에 누락 된 인덱스, sys.dm_db_missing_index_details와 같은 누락 된 인덱스 dmv도 보고 합니다. 경우에 따라 누락 된 인덱스 세부 정보에는 포함 된 열이 포함 됩니다. 모든 열이 메모리 최적화 테이블의 모든 인덱스에 암시적으로 포함 된 경우에는 메모리 최적화 인덱스를 사용 하 여 포함 된 열을 명시적으로 지정할 수 없습니다.
-
누락 된 인덱스 세부 정보 해시 인덱스가 있지만 쿼리 문제에 적합 하지 않은 경우에는 없는 인덱스를 생략 합니다. 쿼리에 참조 되는 메모리 최적화 테이블의 열에 대 한 해시 인덱스가 있지만 쿼리에 해당 인덱스를 사용할 수 없는 경우 SQL Server 2014에서 SHOWPLAN_XML 및 DMV sys.dm_db_missing_index_details에 누락 된 인덱스를 보고 하지는 않습니다. 특히 쿼리에 인덱스 키 열의 하위 집합을 포함 하는 같음 조건자가 포함 되어 있거나 인덱스 키 열을 포함 하는 같지 않음 조건자가 있는 경우 해시 인덱스를 그대로 사용할 수 없으며 쿼리를 효율적으로 실행 하기 위해 다른 인덱스가 필요 합니다.
원인
쿼리 최적화 프로그램의 누락 된 인덱스 논리가 디스크 기반 테이블의 기존 비클러스터형 인덱스와 메모리 최적화 테이블에 대 한 새 인덱스 유형을 구분 하지 않기 때문에이 문제가 발생 합니다.
해결 방법
이 문제는 SQL Server의 다음과 같은 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2014 누적 업데이트 1 /en-us/help/2931693
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
해결 방법
이러한 문제를 해결 하려면 다음 해결 방법을 사용 합니다.
-
문제에 대 한 해결 방법: 누락 된 인덱스 세부 정보 메모리 최적화 테이블에 대 한 포괄 열을 잘못 보고 합니다. 메모리 최적화 표에 대 한 인덱스에 INCLUDE 절을 지정 하지 않습니다.
-
문제에 대 한 해결 방법: 해시 인덱스가 있지만 해시 인덱스를 사용 하는 경우 queryIn 적합 하지 않은 인덱스를 생략 하면 쿼리 및 쿼리 계획을 검사 하 여 쿼리를 통해 인덱스 키의 하위 집합에 대 한 인덱스 검색 작업을 통해 얻을 수 있는지 또는 다름 조건부의 인덱스 검색 작업을 통해 해당 쿼리가 사용 되는지 여부를 확인 합니다. 인덱스 키의 하위 집합을 검색 해야 하는 경우 비클러스터형 인덱스를 사용 하거나 검색 해야 하는 열에 정확히 해시 인덱스를 사용 합니다. 같지 않음 조건자를 검색 해야 하는 경우 해시 대신 비클러스터형 인덱스를 사용 합니다.
참고 해결 방법은 SQL Server 2014 릴리스 정보 에서 제공 합니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.