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.


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.


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


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


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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.