Sintomas
Considere o seguinte cenário:
-
Você tem uma tabela que tem duas ou mais colunas de tipo de dados de bit no Microsoft SQL Server 2008 R2.
-
Você cria um índice de cluster que contém duas ou mais colunas de tipo de dados de bit na tabela.
-
Você cria um índice que não está em cluster em qualquer coluna e especifica a opção de DATA_COMPRESSION .
Nessa situação, você recebe a seguinte mensagem de erro:
MSG 1944, nível 16, estado 1, linha <número da linha>índice ' <nome do índice> ' não foi criado. Esse índice tem um comprimento de chave de pelo menos <comprimento> bytes. O comprimento máximo permitido da chave é <comprimento> bytes.
Causa
O problema ocorre porque os requisitos de espaço de colunas de tipo de dados são calculados incorretamente nesse cenário.
Resolução
O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.
Atualização cumulativa 13 para SQL Server 2008 R2 SP2 /en-us/help/2967540
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa
Para contornar esse problema, altere o tipo de dados das colunas de bit para tinyint.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".