Logo
You
Code

Backup automatico de todas las bases de datos en MSSQL Express 2014

Autor YouCode - http://www.youcode.com.ar/sql-server/backup-automatico-de-todas-las-bases-de-datos-en-mssql-express-2014-456

Un script para hacer backup automaticos de todas las bases de datos en MSQLExpress 2014 con SQLCMD

Muchas veces necesitamos hacer backup de nuestras bases, pero SQLExpress no tiene tareas programadas de backup, para poder hacer nuestros backups de forma periodica lo haremos con las tareas programadas de Windows donde llamaremos un archivo .bat para tal motivo. Veamos...

Creamos un archivo llamado bk.sql y ponemos el siguiente codigo.
 
DECLARE @name VARCHAR(50) -- Nombre de base de datos  
DECLARE @path VARCHAR(256) -- Path donde queremos que se guarde el backup
DECLARE @fileName VARCHAR(256) -- Nombre del archivo de backup
DECLARE @fileDate VARCHAR(20) 
 
-- Especificamos la carpeta para el backup
SET @path = 'C:\Backup'  
 
-- Al archivo de backup, le ponemos la fecha como parte del nombre
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
 
DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- Excluimos estas bases
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
   SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
   BACKUP DATABASE @name TO DISK = @fileName  
 
   FETCH NEXT FROM db_cursor INTO @name   
END   

 
CLOSE db_cursor   
DEALLOCATE db_cursor
Para ajecutar este codigo, debemos hacerlo mediante SQLCMD que es parte de SqlServer , en caso de no tenerlo instalado lo puedan bajar de Microssoft.

El archivo bat quedaria asi :
SQLCMD -U sa -P tu_clave -S SERVER\SQLEXPRESS14 -i C:\bk.sql -o C:\LogBk.log
basicamente lo que estamos diciendo a (ustedes pongan los archivos en la carpeta que quierean)  SQLCMD que ejecute el archivo SQL llamado bk.sql.
Leugo pueden poner en las tareas programadas de Windows una nueva tarea para que ejecute el archivo .bat a la hora que quieran o los dias .... esto ya es como mas les guste.

Espero que les sea util
http://www.youcode.com.ar/sql-server/backup-automatico-de-todas-las-bases-de-datos-en-mssql-express-2014-456