Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Backups de DBs

Estas en el tema de Backups de DBs en el foro de SQL Server en Foros del Web. Hola Amigos, como siempre cuando llego a consultar a ustedes, es porque casi, casi, estoy "exterminado". Problema: Me diero para realizar un backup sobre un ...
  #1 (permalink)  
Antiguo 31/07/2012, 17:31
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Backups de DBs

Hola Amigos, como siempre cuando llego a consultar a ustedes, es porque casi, casi, estoy "exterminado".

Problema:
Me diero para realizar un backup sobre un SQL Express 2005
De todas las DB que tiene. Un total de 104 DB y las que se van creando tambien.



Tengo algun código, que lea las DB por lo que sea (ejemplo por nombre), y le realice un backup a Disco?

Buena pregunta, no?

De esta forma yo llamaría a este escript de slq, lo programataría con un administrador de tareas y tema resuelto.

Escucho todas las ofertas....

Gracias como siempre a todos.
Gustavo
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar
  #2 (permalink)  
Antiguo 31/07/2012, 19:10
Avatar de 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
  #3 (permalink)  
Antiguo 02/08/2012, 15:50
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Backups de DBs

Gracias Matanga, el backup es el mismo para todos.
Asi que pruebo el primer script y te aviso.

Gracias
Gustavo
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar

Etiquetas: backup, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:28.