Una tarea que generalmente no tenemos en cuenta a menos que seamos DBA, es mantener los indices de las bases de datos . Hay varias formas de hacerlo:
- De manera manual
Una vez dentro del SQL Server Management Studio, ubicarse en el nodo de la base de datos correspondiente, expandir el nodo de Tables para luego entrar a Indexes, para que uno a uno dentro de cada indice se escoja la opción Rebuild.
- De manera automática
Y a la vez, a la que tenemos más control y se ejecuta por medio de script. Navegando por Internet me encontre con el blog de Greg, SQL Server script to rebuild all indexes for all tables and all databases; el cual hace rebuild de todos los indices de todas las tablas para todas las bases de datos.
El script trabaja para versiones SLQ Server 2000 o superiores, adicionalmente lo podemos actualizar para indicarle que base de datos queremos actualizar (IN ) o cuales queremos descartar (NOT IN)
SELECT name FROM MASTER.dbo.sysdatabases
WHERE name NOT IN ('master','msdb','tempdb','model','distribution')o incluir otras opciones.
Nota: Ser cuidadoso cuando lo ejecutemos para indices o base de datos muy grandes.