LØSNING: Kan ikke oprette komprimeret ikke-grupperet indeks i en tabel, der har et grupperet indeks med to eller flere bitkolonner

Gælder for
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

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