14 - Programar Backup Automático

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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

 


 

Backup Automático con SQL Server 2000 

La programación de backup automático se realiza desde el administrador corporativo. Primeramente se debe hacer doble click sobre el servidor y buscar la carpeta Administración. En la opción Planes de Mantenimiento de base de datos hacer click derecho y luego Nuevo plan de mantenimiento.


alt

 Fig. 1

A continuación se iniciará el asistente que le guiará en la creación del plan de mantenimiento. En la primera ventana solo presione el botón siguiente. En la proxima ventana le aparecerá un listado de las base de datos que desea incluir en el plan de mantenimiento(Fig.2). Aqui se deben seleccionar las base de datos que se incluiran, para ello solo debe tildarlas.

alt

Fig. 2

 

Luego vaya hasta la ventana que se especifica en la figura 3, ignorando las opciones previas. En esta ventana se definen los parametros para realizar el backup. Presione el boton cambiar.

alt

Fig. 3

Seguidamente en la ventana de programación seleccione la frecuencia con la que se hará el backup especificando la hora y fecha de inicio. Es recomendable que el plan de mantenimiento no tenga fecha fin y el backup se haga en un horario en el que el servidor no esté en uso.

alt
Fig. 4

En la siguiente ventana se debe seleccionar el directorio en el que se guardarán los archivos de backup. En la opción "Utilizar este directorio" puede escribir la ruta de acceso en donde se guardarán los archivos. A modo de tener más ordenados los archivos es recomendable marcar la opción Crear un Subdirectorio para cada base de datos y a fin de ahorrar espacio en disco también se recomieda tildar la opción de Quitar archivos anteriores a X semanas.

En las ventanas posteriores no es necesario realizar programación alguna por lo tanto solo se debe presionar en botón Siguiente hasta llegar a la ventana final que se muestra en la figura 6

alt
Fig. 5
 
 
alt
Fig. 6
 
 
Backup Automático con SQL Server 2008 Express