SQL Server Management Studio ne me laisse pas ajouter un index à une table

113

Lorsque je clique avec le bouton droit sur le dossier des index dans le tableau, l'élément de menu "Nouvel index" est grisé. Je ne comprends pas pourquoi. J'ai supprimé toutes les données du tableau au cas où, et actualisé et redémarré SSMS, mais pas de chance. J'utilise SQL Server 2012 Business Intelligence SP1 CTP.

bâiller
la source
26
Cela se produit si vous avez déjà ouvert la table dans un concepteur - sauf que vous dites que vous avez redémarré SSMS. Êtes-vous allé dans Design Table après le redémarrage?
Martin Smith
J'ai confirmé que c'était toujours un problème dans SQL Server 2014.
Keith
@Martin Smith: Merci, cela a fonctionné pour moi.
Bhavin Shah du
Un diagramme de base de données avec la table dessus provoquera également cela. (car il s'agit d'une vue de `` table de conception '')
JDC

Réponses:

259

Solution: fermez vos concepteurs de tables et diagrammes de base de données et réessayez. Si cela ne résout pas le problème, fermez toutes les fenêtres de Management Studio.

Cause: l' option "Nouvel index" est désactivée lorsque la table est verrouillée par le schéma par la fenêtre du concepteur.

Keith
la source
15
Merci. Microsoft, veuillez améliorer cela. C'est très ennuyeux de voir new indexgrisé.
Valamas
1
oui, vous devez fermer les concepteurs de table qui n'ont rien à voir avec la table en question. grr
Simon_Weaver
2
J'ai eu le même problème en essayant d'ajouter "Colonnes incluses". Je viens de me rendre compte que pendant des années (une décennie exactement) tout ce que j'avais à faire était de fermer le Concepteur de tables et de faire un clic droit sur l'index pour sélectionner "Propriétés" afin de les ajouter / modifier ... Toutes ces années perdues sur écrire des scripts personnalisés. visage-paume je veux retrouver ma jeunesse!
MikeTeeVee
Wow, cela m'a sauvé la journée! +1
Al Kepp
6

Cela pourrait être une question de droits, ou peut-être vous êtes-vous déconnecté. Essayez d'utiliser du code pour ajouter l'index; qui peut résoudre votre problème ou signaler une exception plus significative à partir de laquelle vous pouvez travailler:

create index ix_MyTable_Column1
on dbo.MyTable(Column1 asc)

http://msdn.microsoft.com/en-us/library/ms188783.aspx

JohnLBevan
la source
3

Fermez le tableau s'il est ouvert dans le concepteur. Cliquez avec le bouton droit sur les index de la table et sélectionnez Tout reconstruire. Cela va le réparer ...

MCS
la source
1

Dans mon cas, qui était une vue, pas une table, c'était parce que la vue n'avait pas été créée avec la liaison de schéma. Je l'ai modifié en utilisant la liaison de schéma, puis j'ai pu ajouter l'index à la vue. HTH.

Ashilon
la source
1

La table n'a pas de clé primaire en cluster comme l'exige l'index spatial. Assurez-vous que la colonne de clé primaire existe sur la table avant de créer un index spatial.

lord5et
la source