martes, 3 de julio de 2012

Backup a Todas las Bases de Datos del Servidor


Valiéndonos del uso de Cursores, en este ejemplo vemos como realizar un Backup de Todas las bases de datos almacenadas en tu servidor.


DECLARE @nombre_db AS VARCHAR(50)
DECLARE tablas_cursor CURSOR FOR
  
SELECT name
  
FROM   sys.databases
  
WHERE  name NOT IN( 'master', 'tempdb', 'model', 'msdb' )

OPEN tablas_cursor

FETCH next FROM tablas_cursor INTO @nombre_db

WHILE @@fetch_status = 0
  
BEGIN
      
DECLARE @nombre VARCHAR(150)

      
SET @nombre= CONVERT(VARCHAR(9), Getdate(), 6)
      
SET @nombre='c:\Backup\' + @nombre + '-'
                  
+ @nombre_db + '.bak'
      
SET @nombre=Replace(@nombre, ' ', '')

      
--select @nombre
      
BACKUP DATABASE @nombre_db TO DISK=@nombre WITH compression

      
FETCH next FROM tablas_cursor INTO @nombre_db
  
END

CLOSE tablas_cursor

DEALLOCATE tablas_cursor

No hay comentarios:

Publicar un comentario