Oprava: Nelze vytvořit komprimovaný neclusterovaný index u tabulky, která má clusterovaný index se dvěma nebo více bitovými sloupci

Platí pro
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

Příznaky

Vezměte v úvahu následující scénář:

  • V Microsoft SQL Server 2008 R2 máte tabulku se dvěma nebo více bitovými sloupci s datovým typem.
  • Vytvoříte clusterovaný index, který obsahuje v tabulce dva nebo více sloupců bitových datových typů.
  • U libovolného sloupce vytvoříte neclusterovaný index a zadáte možnost DATA_COMPRESSION.

V takové situaci se zobrazí následující chyba:

Poznámka

Zpráva 1944, úroveň 16, stav 1, číslo řádku<>

Index (název >indexu<) nebyl vytvořen. Tento index má délku klíče alespoň -<Length> bajtů. Maximální přípustná délka klíče je <délka> bajtů.

Příčina

K tomuto problému dochází proto, že požadavky na místo u sloupců s datovými typy bitů jsou v tomto scénáři vypočítány nesprávně.

Řešení

Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.

Kumulativní aktualizace 13 pro SQL Server 2008 R2 SP2 /en-us/help/2967540

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

      

Alternativní řešení

Pokud chcete tento problém obejít, změňte datový typ sloupců z bit na tinyint.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.