Síntomas
Imagine la siguiente situación:
-
Tiene una tabla que tiene dos o más columnas de tipo de datos bit en Microsoft SQL Server 2008 R2.
-
Crea un índice agrupado que contiene dos o más columnas de tipo de datos bit en la tabla.
-
Puede crear un índice no agrupado en cualquier columna y especificar la opción DATA_COMPRESSION .
En esta situación, recibe el siguiente error:
Msj 1944, nivel 16, estado 1, línea <número de línea>índice ' nombre de índice <> ' no se creó. Este índice tiene una longitud de clave de al menos <longitud> bytes. La longitud de la clave máxima permitida es <longitud> 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 solucionó 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
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para 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 recogidos en la sección "Se aplica a".