In SQL Server Management Studio kann ich einer Tabelle keinen Index hinzufügen

112

Wenn ich mit der rechten Maustaste auf den Indexordner in der Tabelle klicke, ist der Menüpunkt "Neuer Index" ausgegraut. Ich verstehe nicht warum. Ich habe alle Daten in der Tabelle für alle Fälle gelöscht und SSMS aktualisiert und neu gestartet, aber kein Glück. Ich verwende SQL Server 2012 Business Intelligence SP1 CTP.

Garn
quelle
26
Dies geschieht, wenn Sie die Tabelle bereits in einem Designer geöffnet haben - außer Sie sagen, Sie haben SSMS neu gestartet. Sind Sie nach dem Neustart in die Designtabelle gegangen?
Martin Smith
Ich habe bestätigt, dass dies immer noch ein Problem in SQL Server 2014 ist.
Keith
@ Martin Smith: Danke, das hat bei mir funktioniert.
Bhavin Shah
Dies wird auch durch ein Datenbankdiagramm mit der Tabelle verursacht. (da es sich um eine "Designtabelle" handelt)
JDC

Antworten:

258

Lösung: Schließen Sie Ihre Tabellendesigner und Datenbankdiagramme und versuchen Sie es erneut. Wenn dies nicht hilft, schließen Sie alle Fenster in Management Studio.

Ursache: Die Option "Neuer Index" wird deaktiviert, wenn die Tabelle vom Designerfenster schemasperrend ist.

Keith
quelle
14
Vielen Dank. Microsoft, bitte verbessern Sie das. Es ist sehr ärgerlich, new indexausgegraut zu sehen.
Valamas
1
Ja, Sie müssen Tischdesigner schließen, die nichts mit der betreffenden Tabelle zu tun haben. grr
Simon_Weaver
2
Ich hatte das gleiche Problem beim Versuch, "Eingeschlossene Spalten" hinzuzufügen. Ich habe gerade festgestellt, dass ich jahrelang (genau ein Jahrzehnt) nur den Tabellen-Designer schließen und mit der rechten Maustaste auf den Index klicken musste, um "Eigenschaften" auszuwählen, um sie hinzuzufügen / zu bearbeiten ... All diese Jahre wurden verschwendet Schreiben von benutzerdefinierten Skripten. Gesichtspalme Ich will meine Jugend zurück!
MikeTeeVee
Wow, das hat mir den Tag gerettet! +1
Al Kepp
6

Es könnte sich um ein Rechteproblem handeln, oder Sie haben die Verbindung getrennt. Versuchen Sie, den Index mit Code hinzuzufügen. Dies kann Ihr Problem beheben oder eine aussagekräftigere Ausnahme melden, mit der Sie arbeiten können:

create index ix_MyTable_Column1
on dbo.MyTable(Column1 asc)

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

JohnLBevan
quelle
3

Schließen Sie die Tabelle, wenn sie im Designer geöffnet ist. Klicken Sie mit der rechten Maustaste auf Indizes für die Tabelle und wählen Sie Alle neu erstellen. Dies wird es beheben ...

MCS
quelle
1

In meinem Fall, bei dem es sich um eine Ansicht und nicht um eine Tabelle handelte, wurde die Ansicht nicht mit der Schemabindung erstellt. Ich habe es mithilfe der Schemabindung geändert und konnte dann den Index zur Ansicht hinzufügen. HTH.

Ashilon
quelle
1

Die Tabelle verfügt nicht über einen gruppierten Primärschlüssel, wie vom räumlichen Index gefordert. Stellen Sie sicher, dass die Primärschlüsselspalte in der Tabelle vorhanden ist, bevor Sie einen räumlichen Index erstellen.

lord5et
quelle