Symptomer
Overvej følgende scenarie:
- Du har en tabel, der har to eller flere bitdatatypekolonner i Microsoft SQL Server 2008 R2.
- Du opretter et grupperet indeks, der indeholder to eller flere bitdatatypekolonner i tabellen.
- Du opretter et ikke-grupperet indeks for en hvilken som helst kolonne og angiver den DATA_COMPRESSION indstilling.
I denne situation modtager du følgende fejlmeddelelse:
Bemærk
Msg 1944, niveau 16, stat 1, linjenummer<>
Indekset '<Indeksnavn>' blev ikke oprettet. Dette indeks har en nøglelængde på mindst -<længde> byte. Den maksimalt tilladte nøglelængde er <Længde> bytes.
Årsag
Problemet opstår, fordi pladskravene til kolonner med bitdatatyper beregnes forkert i dette scenarie.
Løsning
Problemet blev først løst i følgende kumulative opdatering af SQL Server.
Samlet opdatering 13 til SQL Server 2008 R2 SP2 /en-us/help/2967540
Om kumulative opdateringer til SQL Server
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Løsning
Du kan løse dette problem ved at ændre datatypen for kolonnerne fra bit til tinyint.
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".