Ejecutar comandos para todas las bases SQL server de un servidor

Ahora que GeneXus guarda las KB en bases de datos SQL Server, se me multiplicaron la cantidad de bases que tengo que "administrar".  Hoy tengo 38 KB y algunas de ellas tienen la base de datos correspondiente al modelo.
En total, tengo 62 bases de datos SQL Server. 

Mis tareas mas habituales de administración son : 

  • Backup
  • Chequear que no tengan problemas de integridad
  • Defragmentar los indices
  • Recuperar el espacio no utilizado dentro de los archivos de la base de datos. 
Aunque ultimamente me ha tocado enfrentarme a la tareas de DBA, no son mi especialidad ni me atraen demasiado.

Encontre este stored procedure (no documentado) que no conocía que permite ejecutar un comando para todas las bases existentes. 


--Comprueba la integridad física y lógica de todos los objetos de la base de datos especificada
EXEC sp_msforeachdb 'DBCC CHECKDB("?")'


--recupera espacio no utilizado en las base de datos
EXEC sp_msforeachdb 'DBCC SHRINKDATABASE ("?")'


--Hace el backup de las bases de datos y deja una archivo con el mismo nombre que la DB
EXEC sp_msforeachdb 'BACKUP DATABASE ?  TO DISK = "c:\dbbackup\?.bak"'

Comentarios

  1. Sabo sobre las situaciones semejantes y despues la utiliza interesante que sabe decidir la complecacion presente - como reparar mssql.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.