Abfragen aller gruppierter und nicht gruppierter Indizes

20/09/2007 - 14:15 von marcus.kluttig | Report spam
Hallo,

Ich hab ein wichtiges Anliegen.

Ich möchte in meiner Datenbank alle Indizes löschen und danach wieder
erstellen.
Um dies zu ermöglichen erstelle ich eine Abfrage um mir Abfragen in
Textform zu erstellen.

Zum Erstellen und Löschen brauche ich aber Angaben zum Name, Tabelle
und Spalte des Indizes.

Ich habe es geschafft alle gruppierten Indizes zu erstellen und zu
löschen mit der Systemsicht INFORMATION_SCHEMA.KEY_COLUMN_USAGE.

Jetzt ist die Frage wie komme ich an die nicht gruppierten Indizes
ran? Ich brauche den Tabellennamen, die Spalte und den Indizenamen.

In der Tabelle sys.Indexes finde ich zwar alle nicht gruppierten
Indizes aber keine Tabllen und Spalten dazu.

Danke für eure Hilfe
 

Lesen sie die antworten

#1 Frank Kalis
20/09/2007 - 14:30 | Warnen spam
"" wrote:

Ich möchte in meiner Datenbank alle Indizes löschen und danach wieder
erstellen.
Um dies zu ermöglichen erstelle ich eine Abfrage um mir Abfragen in
Textform zu erstellen.

Zum Erstellen und Löschen brauche ich aber Angaben zum Name, Tabelle
und Spalte des Indizes.

Ich habe es geschafft alle gruppierten Indizes zu erstellen und zu
löschen mit der Systemsicht INFORMATION_SCHEMA.KEY_COLUMN_USAGE.

Jetzt ist die Frage wie komme ich an die nicht gruppierten Indizes
ran? Ich brauche den Tabellennamen, die Spalte und den Indizenamen.

In der Tabelle sys.Indexes finde ich zwar alle nicht gruppierten
Indizes aber keine Tabllen und Spalten dazu.




Über die object_id in sys.indexes kriegst Du den Tabellennamen. Dann wirst
Du noch sys.index_columns und sys.columns brauchen.
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.de

Ähnliche fragen