(Dieser Artikel wurde vorher auf http://www.tgvconsult.de/blog/4-geschichten-aus-dem-leben/18-ms-sql-server-neuerstellen-aller-indizes-in-einer-datenbank.html veröffentlicht.)

(02.07.2013)

Wenn man in die Verlegenheit kommt, einen Rebuild aller Indizes in einer MS-SQL-Datenbank machen zu müssen, dann gibt es dafür eine relativ einfache Lösung.

Vorgehensweise mit dem SQL server Management Studio:

Schritt 1: Datenbank auswählen und neue Abfrage erstellen, Ergebnistyp Text (nicht Tabelle)

SELECT
STRNG='V123456 '+LTRIM(RTRIM(NAME))+' N123456'
FROM SYS.TABLES;

Schritt 2: Ergebnis in neues Abfragefenster kopieren, ohne Headerzeile und ohne die Meldung, wieviele Zeilen zurückgegeben wurden

Schritt 3: mit [Strg]+[H] den Ersetzendialog öffnen und 'V123456' mit 'ALTER INDEX ALL ON' ersetzen

Schritt 4: nochmal den Ersetzen-Dialog aufrufen und 'N123456' mit 'REBUILD;' ersetzen

Schritt 5: Ausführen.