Ejecutar comandos para todas las bases SQL server de un servidor
En total, tengo 62 bases de datos SQL Server.
--Hace el backup de las bases de datos y deja una archivo con el mismo nombre que la DB
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("?")'
EXEC sp_msforeachdb 'DBCC CHECKDB("?")'
--recupera espacio no utilizado en las base de datos
EXEC sp_msforeachdb 'DBCC SHRINKDATABASE ("?")'
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"'
Sabo sobre las situaciones semejantes y despues la utiliza interesante que sabe decidir la complecacion presente - como reparar mssql.
ResponderBorrar