Symptome
Nehmen Sie folgendes Szenario an:
- Sie verfügen über eine Tabelle mit zwei oder mehr Bit-Datentypspalten in Microsoft SQL Server 2008 R2.
- Sie erstellen einen gruppierten Index, der zwei oder mehr Bit-Datentypspalten in der Tabelle enthält.
- Sie erstellen einen nicht gruppierten Index für eine beliebige Spalte und geben die Option DATA_COMPRESSION an.
In diesem Fall erhalten Sie den folgenden Fehler:
Hinweis
Msg 1944, Ebene 16, Status 1, Zeilenzeilennummer<>
Der Index "<Indexname>" wurde nicht erstellt. Dieser Index hat eine Schlüssellänge von mindestens -<Length> Bytes. Die maximal zulässige Schlüssellänge ist <Längenbytes> .
Ursache
Das Problem tritt auf, weil die Platzanforderungen von Bitdatentypspalten in diesem Szenario falsch berechnet werden.
Lösung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 13 für SQL Server 2008 R2 SP2 /en-us/help/2967540
Informationen zu kumulativen Updates für SQL Server
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Problemumgehung
Um dieses Problem zu umgehen, ändern Sie den Datentyp der Spalten von bit in tinyint.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.