CORRECCIÓN: No se puede crear índice comprimido no clúster en una tabla que tenga un índice clúster con dos o más columnas de bits

Se aplica a
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

Síntomas

Tenga en cuenta el siguiente escenario:

  • Tiene una tabla que tiene dos o más columnas de tipo de datos bit en Microsoft SQL Server 2008 R2.
  • Cree un índice agrupado que contenga dos o más columnas de tipo de datos de bits en la tabla.
  • Puede crear un índice no agrupado en cualquier columna y especificar la opción de DATA_COMPRESSION.

En esta situación, recibe el siguiente error:

Nota

Msg 1944, Nivel 16, Estado 1, Número de línea<>

No se creó el índice "<Nombre> del índice". Este índice tiene una longitud clave de al menos bytes de -<Length> . La longitud máxima permitida de la clave es La longitud> de < bytes.

Causa

El problema se produce porque los requisitos de espacio de las columnas de tipo de datos bit se calculan incorrectamente en este escenario.

Resolución

El problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.

Actualización acumulativa 13 para SQL Server 2008 R2 SP2 /en-us/help/2967540

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:

      

Solución alternativa

Para solucionar este problema, cambie el tipo de datos de las columnas de bit a tinyint.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".