증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2008 R2에 두 개 이상의 bit 데이터 형식 열이 있는 테이블을 사용 하 고 있습니다.
-
테이블에 두 개 이상의 bit 데이터 형식 열이 포함 된 클러스터 된 인덱스를 만듭니다.
-
모든 열에서 비클러스터형 인덱스를 만들고 DATA_COMPRESSION 옵션을 지정 합니다.
이 경우 다음과 같은 오류가 나타납니다.
메시지 1944, 수준 16, 상태 1, 줄 <줄 번호>index ' <인덱스 이름> '이 (가) 만들어지지 않았습니다. 이 인덱스의 키 길이는 최소 <length> 바이트입니다. 허용 되는 최대 키 길이는 <length> 바이트입니다.
원인
이 문제는 bit 데이터 형식 열의 공간 요구 사항이이 시나리오에서 올바르게 계산 되지 않기 때문에 발생 합니다.
해결 방법
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2008 R2 SP2에 대 한 누적 업데이트 13 /en-us/help/2967540
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
해결 방법
이 문제를 해결 하려면 열의 데이터 형식을 bit 에서 tinyint로 변경 합니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.