Sintomas
Tenha em conta o seguinte cenário:
- Tem uma tabela com duas ou mais colunas de tipo de dados de bits no Microsoft SQL Server 2008 R2.
- Você cria um índice clusterizado que contém duas ou mais colunas de tipo de dados de bits na tabela.
- Você cria um índice não clusterizado em qualquer coluna e especifica a opção DATA_COMPRESSION.
Nessa situação, você recebe o seguinte erro:
Nota
Msg 1944, Nível 16, Estado 1, Número da< Linha>
O Índice 'Nome do<Índice>' não foi criado. Este índice tem um comprimento de chave de, pelo menos, -<Length> bytes. O comprimento máximo permitido da chave é <bytes de comprimento> .
Causa
O problema ocorre porque os requisitos de espaço das colunas de tipo de dados de bits são calculados incorretamente neste cenário.
Resolução
O problema foi corrigido na atualização cumulativa seguinte do SQL Server.
Atualização Cumulativa 13 para SQL Server 2008 R2 SP2 /en-us/help/2967540
Acerca das atualizações cumulativas para SQL Server
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Solução
Para contornar esse problema, altere o tipo de dados das colunas de bit para minúsculo.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".