Applies ToSQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di una tabella con due o più colonne di tipo dati bit in Microsoft SQL Server 2008 R2.

  • Si crea un indice cluster contenente due o più colonne di tipo di dati bit nella tabella.

  • Si crea un indice non cluster in una colonna e si specifica l'opzione DATA_COMPRESSION .

In questo caso, viene visualizzato il messaggio di errore seguente:

Msg 1944, livello 16, stato 1, linea <numero di riga>indice "<nome indice>" non è stato creato. Questo indice ha una lunghezza di chiave di almeno <lunghezza> byte. La lunghezza massima della chiave ammissibile è <lunghezza> byte.

Causa

Il problema si verifica perché i requisiti di spazio delle colonne tipo di dati bit vengono calcolati in modo non corretto in questo scenario.

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Soluzione alternativa

Per risolvere il problema, cambiare il tipo di dati delle colonne da bit a tinyint.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.