viernes, 8 de junio de 2012

Backup a todas las bases de datos SQL Server

Aqui les dejo el codigo para hacer backup de todas sus bases de datos, solo tienen que ponerlo en un trabajo(jobs) para que se ejecute periodicamente.





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.: