14 - Programar Backup Automático

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Índice del artículo

Backup Automático con SQL Server 2008 Express

El SQL 2008 Express no trae en forma nativa la utilidad de realizar backup automático, sin embargo podemos hacer el backup programando una tarea automática por medio del sistema operativo.

Lo primero que debemos hacer es crear una carpeta en donde se van a guardar las copias de seguridad por ejemplo en la unidad C: podemos crear la carpeta EDYDSI-Backup. Dentro de esta carpeta crear la carpeta Script. Luego en un block de notas o en el analizador de consulta pegar la secuencia de comandos que se encuentra más abajo(DESDE INICIO HASTA FIN). Guardar el archivo con extensión .sql en la carpeta Script con el nombre BackupDiario.sql. Si la carpeta en la que se va a hacer el backup no es C:\EDYDSI-Backup, cambiar por la ruta de acceso que corresponda.

--INICIO

--Parametros de Entrada
DECLARE @strDatabase varchar(200)
DECLARE @carpetaBackup varchar(500)
DECLARE @strNombreBackup VARCHAR(800)
DECLARE @strBackupFile VARCHAR(800)

--Seleccionar destino del Backup
SET @carpetaBackup = 'C:\EDYDSI-Backup'

--Se obtiene la fecha actual
DECLARE @fechaActual datetime
SET @fechaActual = GETDATE()

DECLARE BDs CURSOR FOR
SELECT RTRIM(bd)
FROM Macromaster.dbo.empresas
WHERE bd in
(
 select name from sysdatabases
)
UNION
SELECT
'Macromaster'

OPEN BDs

FETCH NEXT FROM BDs
INTO @strDatabase

WHILE @@FETCH_STATUS = 0
BEGIN

 SET @strNombreBackup = STR(DATEPART(YEAR, @fechaActual), 4, 0)
 + REPLACE(STR(DATEPART(MONTH, @fechaActual), 2, 0), N' ', N'0')
 + REPLACE(STR(DATEPART(DAY, @fechaActual), 2, 0), N' ', N'0')
 + REPLACE(STR(DATEPART(HOUR, @fechaActual), 2, 0), N' ', N'0')
 + REPLACE(STR(DATEPART(MINUTE, @fechaActual), 2, 0), N' ', N'0')
 + N'_' + N'db' + N'_' + @strDatabase


 SET @strBackupFile = @carpetaBackup + N'\' + @strNombreBackup + N'.bak'

 BACKUP DATABASE @strdatabase TO DISK = @strBackupFile WITH INIT

 SET @strNombreBackup = ''
 SET @strBackupFile = ''
 
 FETCH NEXT FROM BDs
 INTO @strDatabase
END


CLOSE BDs
DEALLOCATE BDs

--FIN

Seguidamente inicie el programador de tareas del sistema operativo en Inicio/Accesorio/Herramientas del Sistema/Programador de Tareas y siga los siguientes pasos:

Haga click en la opción crear tarea basica... 

alt

 Asigne un nombre a la tarea

 alt 

Seleccione la frecuencia con la que se va a ejecutar la tarea 

alt 

 Especifique la hora y fecha de inicio de la tarea

alt

 

En la ventana de acción seleccione la opción Iniciar un programa

alt

 

Haga click en el botón examinar y busque el ejecutable SQLCMD que se encuentra en C:\Program Files\Microsoft SQL Server\100\Tools\Binn

alt

 

Guarde la tarea y a continuación en la ventana principal del programador de tareas haga doble click sobre Biblioteca de Programador de Tareas. Busque la tarea creada, haga click derecho y propiedades

alt 

En la pestaña acciones presione el botón Editar y escriba en el cuadro Programa o Script lo siguiente :

sqlcmd -S NombreServidor -E -i C:\EDYDSI-Backup\Script\BackupDiario.sql

Recuerde cambiar NombreServidor por el nombre del servidor con su instancia correspondiente por ejemplo: server\SQL2008. También tenga en cuenta que la ruta C:\EDYDSI-Backup\Script\BackupDiario.sql se incluye aqui porque se supone que el archivo se encuentra en dicha dirección.

Seguidamente presione aceptar  y el asistente le preguntará si desea inluir los nuevos parámetros; presione Sí y cierre el asistente. De esta forma queda programada la tarea para realizar el backup diario de forma automática.

alt

 

logo_edydsi_negro_gordo_pequeo01.png
Empresa de Desarrollo Y Distribución de
Sistemas de Información
Avda. Bruno Guggiari #2063
Asunción, Paraguay
info@edydsi.com
29409097
Hoy
Ayer
Esta semana
Semana anterior
Este mes
Mes anterior
501
21132
46547
22578619
556273
721277
© Copyright 2024 EDYDSI SA.

Buscar