CORREÇÃO: Não é possível criar um índice não clusterizado compactado em uma tabela que tenha um índice clusterizado com duas ou mais colunas de bits

Aplica-se A
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

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".