SQL Server Management Studio non mi consente di aggiungere un indice a una tabella


113

Quando faccio clic con il pulsante destro del mouse sulla cartella degli indici nella tabella, la voce di menu "Nuovo indice" viene visualizzata in grigio. Non capisco perché. Ho cancellato tutti i dati nella tabella per ogni evenienza e ho aggiornato e riavviato SSMS, ma senza fortuna. Sto utilizzando SQL Server 2012 Business Intelligence SP1 CTP.


26
Ciò accade se hai già la tabella aperta in un designer, tranne quando dici di aver riavviato SSMS. Sei entrato nella tabella dati dopo il riavvio?
Martin Smith

Ho confermato che questo è ancora un problema in SQL Server 2014.
Keith

@ Martin Smith: Grazie, ha funzionato per me.
Bhavin Shah

Anche un diagramma del database con la tabella sopra lo causerà. (poiché si tratta di una vista "tabella di progettazione")
JDC

Risposte:


259

Soluzione: chiudere le finestre di progettazione delle tabelle e i diagrammi del database e riprovare. Se ciò non aiuta, chiudi tutte le finestre in Management Studio.

Causa: l'opzione "Nuovo indice" viene disabilitata quando la tabella è bloccata dallo schema dalla finestra di progettazione.


15
Grazie. Microsoft, per favore miglioralo. È molto fastidioso vedere in new indexgrigio.
Valamas

1
sì, devi chiudere i designer di tavoli che non hanno nulla a che fare con il tavolo in questione. grr
Simon_Weaver

2
Ho riscontrato lo stesso problema durante il tentativo di aggiungere "Colonne incluse". Mi sono reso conto solo ora che per anni (esattamente un decennio) tutto quello che dovevo fare era chiudere il Designer tabelle e fare clic destro sull'indice per selezionare "Proprietà" per aggiungerle / modificarle .... Tutti questi anni sprecati su scrivere script personalizzati. palmo in faccia Rivoglio la mia giovinezza!
MikeTeeVee

Wow, questo mi ha salvato la giornata! +1
Al Kepp

6

Potrebbe essere un problema di diritti, o forse ti sei disconnesso. Prova a utilizzare il codice per aggiungere l'indice; che potrebbe risolvere il tuo problema o segnalare un'eccezione più significativa da cui lavorare:

create index ix_MyTable_Column1
on dbo.MyTable(Column1 asc)

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


3

Chiudi il tavolo se aperto nel designer. Fare clic con il tasto destro su Indici per la tabella e selezionare Ricostruisci tutto. Questo lo risolverà ...


1

Nel mio caso, che era una vista, non una tabella, era perché la vista non era stata creata con Schema Binding. L'ho modificato usando Schema Binding e quindi ho potuto aggiungere l'indice alla vista. HTH.


1

La tabella non dispone di una chiave primaria cluster come richiesto dall'indice spaziale. Assicurati che la colonna della chiave primaria esista nella tabella prima di creare un indice spaziale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.