Script backup BBDD SQL
Esta es una forma de hacer respaldos en Sql Server de forma Automatica.
primero hay que generar un script al cual llamaremos backup.sql, ademas este script cambia la Db a “MULTI USER”.
backup.sql
DECLARE @fecha VARCHAR(50) DECLARE @archivo VARCHAR(90) SET @fecha = CONVERT(VARCHAR(4), YEAR(GETDATE()))+CONVERT(VARCHAR(2), MONTH(GETDATE()))+CONVERT(VARCHAR(2), DAY(GETDATE())) SET @archivo = 'Ruta del archivo a crear\nombre del archivo'+ @fecha +'.bak' ALTER DATABASE Nombre BBDD SET SINGLE_USER WITH ROLLBACK IMMEDIATE BACKUP DATABASE Nombre BBDD TO DISK = @archivo ALTER DATABASE Nombre BBDD SET MULTI_USER GO EXIT
luego crearemos backup.bat, con el siguiente contenido
backup.bat
SQLCMD -S(local)\ -E -i"Ruta del archivo backup.sql\backup.sql"
Si lo queremos comprimido los archivos quedarian de la siguiente manera, esto es un ejemplo.
backup.sql
DECLARE @fecha VARCHAR(50) DECLARE @archivo VARCHAR(50) SET @fecha = CONVERT(VARCHAR(4), YEAR(GETDATE()))+'-'+ CONVERT(VARCHAR(2), MONTH(GETDATE()))+'-'+CONVERT(VARCHAR(2), DAY(GETDATE())) SET @archivo = 'C:\tmp\BD_'+ @fecha +'.bak' ALTER DATABASE BD SET SINGLE_USER WITH ROLLBACK IMMEDIATE BACKUP DATABASE BD TO DISK = @archivo ALTER DATABASE BD SET MULTI_USER GO EXIT
backup.bat
SQLCMD -S(local)\SQLEXPRESS -E -i"C:\backup.sql"
"C:\Archivos de programa\WinRAR\rar" a BACKUP.rar c:\TMP\*.*
ECHO S | DEL c:\TMP
Por ultimo nos quedaria añadir el backup.bat a una tarea programada y listo ya podremos crear Copias de Seguridad automatizadas de nuestras BBDD en SQL a pesar de estar trabajando con un SQLExpress.