Respaldar varias bases de datos

Este script realiza un respaldo de todas tus bases de datos en el formato bd_añomesdiahoraminuto.BAK

Aunque SQL Server cuenta con planes de mantenimiento para respaldar las bases de datos, algunas veces es necesario hacer respaldos por nuestra cuenta para alguna prueba o simplemente por personalizar alguno de nuestros scripts.

Esper que este script pueda ayudarlos en sus tareas rutinarias como administrador de base de datos.

DECLARE @yyyy varchar(4),
@mm varchar(2),
@dd varchar(2),
@hh varchar(2),
@mi varchar(2),
@filepath varchar(200),
@str varchar(250),
@db varchar(128)

set @db = ''

WHILE exists (select name from master..sysdatabases where name > @db and name not in ('model','tempdb'))
BEGIN
   select @db = min(name) from master..sysdatabases where name > @db and name not in ('model','tempdb')
 
 SET @mm = convert(varchar,datepart(mm,getdate()))
 if (datepart(mm,getdate()) < 10)
 SET @mm = '0' + @mm
 SET @dd = convert(varchar,datepart(dd,getdate()))
 if (datepart(dd,getdate()) < 10)
 SET @dd = '0' + @dd
 SET @hh = convert(varchar,datepart(hh,getdate()))
 if (datepart(hh,getdate()) < 10)
 SET @hh = '0' + @hh
 SET @mi = convert(varchar,datepart(mi,getdate()))
 if (datepart(mi,getdate()) < 10)
 SET @mi = '0' + @mi
 set @yyyy = convert(varchar,datepart(yyyy,getdate()))
 set @filepath = 'E:\MSSQL\Backup\' + @db+ '_' +@yyyy+@mm+@dd+@hh+@mi+'.BAK'
 set @str = 'backup database ' + @db + ' to disk = ''' + @filepath + ''' with stats = 10'
 --print @str
 exec (@str)
END