Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2012, 19:10
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Backups de DBs

La edición Express de SQL Server 2005 no tiene el Agente, así que como ya comentas, tendrás que hacer un script y ejecutarlo con una tarea programada de Windows.

Si el tipo de backup es el mismo y para todas las bases de datos, puedes utilizar el código

Código:
exec sp_msforeachdb 'backup database [?] to disk=''c:\path_to_folder\?.bak'''
Si el tipo de backup es diferente según la base de datos o bien para un conjunto de bases de datos, puedes hacer un bucle con un cursor sobre la sys.databases y ejecutar la consulta dinámica con sp_executesql.

Código:
declare @db varchar(128)
declare @sql nvarchar(500)
declare c cursor for select name 
   from sys.databases
   where name in ('db1','db2') --conjunto de bases de datos

open c
fetch next from c into @db
while @@fetch_status=0
 begin
 if @db = 'db1' --tipo de backup según la base
  set @sql='backup database '+@db+' to disk=''c:\path_to_folder\'+@db+'.bak'''
 if @db='db2' --tipo de backup según la base
  set @sql='backup log '+@db+' to disk=''c:\path_to_folder\'+@db+'.bak'''
 
 exec sp_executesql @sql
 fetch next from c into @db
 end
close c
deallocate c.
Saludos