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