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.