Symptômes
Prenons l’exemple du scénario suivant :
-
Une table comporte au moins deux colonnes de type de données bit dans Microsoft SQL Server 2008 R2.
-
Vous créez un index clusterisé contenant au moins deux colonnes de type de données bit sur la table.
-
Vous pouvez créer un index non clusterisé sur n’importe quelle colonne et spécifier l’option DATA_COMPRESSION .
Dans ce cas, le message d’erreur suivant apparaît :
MSG 1944, niveau 16, état 1, ligne <numéro de ligne>index' <nom de l' index> 'n’a pas été créé. Ce paramètre a une longueur de clé d’au moins <longueur> octets. La longueur de la clé maximale autorisée est <longueur> octets.
Cause
Ce problème survient parce que l’espace requis pour les colonnes de type de données bit est calculé de manière incorrecte dans ce scénario.
Résolution
Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 13 pour SQL Server 2008 R2 SP2 /en-us/help/2967540
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Solution de contournement
Pour contourner ce problème, remplacez le type de données de bit par tinyint.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.