You are on page 1of 0

Realizar un Backup Programado

con SQL Server 2005


WhitePaper
Marzo de 2007



Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 2
Contenidos
1. Propsito _____________________________________________ 3
2. Scripts para realizar copias de seguridad de su base de datos_______________ 4
3. Realizar un backup programado desde SQL Server 2005__________________ 6
4. Alternativa para SQL Server 2005 Express __________________________14
4.1. Tareas Programadas del Sistema Operativo ______________________________14



Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 3
1. Propsito
Este documento tiene como propsito explicar la accin de realizar un backup programado de una o
varias bases de datos con la herramienta SQL Agent Job Scheduling Service, la cual no est disponible
en la versin Express (gratuita) de este programa, pero que si que encontraremos en las versiones de
licencia Workgroup, Standard y Enterprise.
Va dirigido a aquellas personas que tienen como responsabilidad gestionar las bases de datos. Para
esto, es necesario que la persona que realice dicha tarea este familiarizado tanto con el entorno de SQL
Server 2005, y tambin que sea capaz de realizar sentencias en SQL.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 4
2. Scripts para realizar copias de seguridad de su base de datos
Es necesario realizar un script o comando SQL para realizar una copia de seguridad programada. En
este, debemos de especificar la base de datos de la que queremos hacer nuestro backup, la ruta de
almacenamiento del mismo, el nombre de nuestro backup, as como las caractersticas que deseemos
configurar para realizar nuestra tarea.
En concreto, para seguir este ejemplo, la consulta que hemos creado es la siguiente:
-- Preference, S.L.
-- 20/03/2007
-- Script simplificado para realizar copias de seguridad de su base de datos
----------------------------------------------------------------------------

-- Parmetros de entrada
DECLARE @strDatabase nvarchar(50)
DECLARE @strFolder nvarchar(500)

-- Seleccione el nombre de la base de datos y su ubicacin
SET @strDatabase = N'PrefSuite'

--Seleccione el directorio donde se crear la copia de seguridad
SET @strFolder = N'C:\BackupsDB'

-- Por defecto, se crear un archivo .bak con el nombre de la base de datos
-- ms la fecha y hora actual
-- Ekemplo: PrefSuite 200703201535.bak
-- Backup de la base de datos de PrefSuite creado el 20 de marzo de 2007 a las
15:35
-- Usted es libre de personalizarse este script de acuerdo a sus necesidades.
-- Para ms informacin consulte la ayuda de Microsoft SQL Server.

DECLARE @tToday datetime
SET @tToday = GETDATE()

DECLARE @strBackupName nvarchar(100)
SET @strBackupName = @strDatabase + N' '
+ STR(DATEPART(year, @tToday), 4, 0)
+ REPLACE(STR(DATEPART(month, @tToday), 2, 0), N' ', N'0')
+ REPLACE(STR(DATEPART(day, @tToday), 2, 0), N' ', N'0')
+ REPLACE(STR(DATEPART(hour, @tToday), 2, 0), N' ', N'0')
+ REPLACE(STR(DATEPART(minute, @tToday), 2, 0), N' ', N'0')

DECLARE @strBackupFile nvarchar(600)
SET @strBackupFile = @strFolder + N'\' + @strBackupName + N'.bak'

BACKUP DATABASE @strDatabase
TO DISK = @strBackupFile
WITH
NOFORMAT,
INIT,
SKIP,
NAME = @strBackupName

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 5
Los parametros utilizados son:
@strDatabase: Nombre de la base de datos sobre la queremos realizar el backup. Este debe ser
insertado por el usuario.
@strFolder: Carpeta donde queremos almacenar nuestro backup. Este debe de ser insertado por el
usuario.
Como resultado se crear un archivo .bak con el nombre de la base de datos ms la fecha (compuesta
por el ao, el mes, el da, la hora y el minuto) en el que se ha realizado el backup. Ejemplo: PrefSuite
200703201535.bak
Una vez realizado nuestro script, deberemos de programar por medio del propio SQL server 2005 o de
nuestro sistema operativo el momento en el que se deba de ejecutar. Veamos, segn sea la versin de
QL Server 2005 que tenemos instalada en nuestro equipo, la forma de proceder.


Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 6
3. Realizar un backup programado desde SQL Server 2005
Desde SQL Server 2005 podemos programar una tarea para realizar backups de una o varias bases de
datos con la herramienta SQL Agent Job Scheduling Service, la cual no est disponible en la versin
Express (gratuita) de este programa.
Para esto, debemos de seleccionar el servidor sobre el que vamos a programar esta labor. Una vez
hecho esto, debemos de seleccionar la opcin Jobs (el cual se encuentra dentro del objeto SQL
Server Agent) y pulsar el botn derecho del ratn sobre la misma. Cuando hagamos esto, aparecer
un men desplegable donde seleccionaremos el valor New Job .

Figura 1. Explorador de objetos de SQL Server 2005.
Al seleccionar esta opcin, se abrir la pantalla siguiente, donde escribiremos el nombre de la tarea que
estamos creando en la pestaa General.



Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 7

Figura 2. Pestaa General al configurar un Job.
Una vez hecho esto, debemos de seleccionar la pestaa Steps. Desde aqu, debemos de especificar los
steps o pasos a seguir para hacer nuestra tarea. Para este caso en concreto necesitaremos solo un paso.
Para crearlo, pulsaremos el botn New.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 8

Figura 3. Pestaa Steps al configurar un Job.
Al hacer esto, se abrir una nueva pantalla. En ella, aadiremos un nombre a nuestro step en el campo
Step Name, seleccionaremos la base de datos sobre la que queremos programar esta tarea desde el
campo Database.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 9

Figura 4. Pantalla New Job Steps al configurar un paso o Step.
En esta misma pantalla debemos de insertar en el campo Command el script o comando a ejecutar
para que se genere correctamente nuestro backup (ver punto 2 del documento).
Para ver si la configuracin que hemos creado es correcta, si pulsamos el botn Parse, el programa
nos lanzar un mensaje donde nos especificara si esta sentencia es coherente, o tiene algn tipo de
error.


Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 10

Figura 5. Pantalla New Job Steps aadir la sentencia SQL.
Una vez configurado estos campos, pulsaremos el botn OK, y el programa volver a la pantalla
anterior. Ahora, para configurar cuando queremos que se ejecute nuestra tarea, debemos de especificar
esto en el apartado Schedule o planificado. Para ello, debemos de seleccionar la pestaa Schedule,
y pulsar el botn New.


Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 11

Figura 6. Pestaa Schedules al configurar un Job.
Al realizar esto, se abrir la pantalla New Job Schedule. Aqu debemos de especificar:
El nombre de la planificacin en el campo Name,
el tipo de planificacin en el campo Schedule Type,
la frecuencia con la que queremos hacer nuestra tarea en los apartados Frequency y Daily
frequency,
y la duracin de la tarea.
Una vez hecho esto, en el campo Summary se acumulara el resultado final de la planificacin que
hayamos configurado. Cuando hayamos terminado esta accin, pulsaremos el botn OK.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 12

Figura 7. Pantalla New Job Schedule.
Llegados a este punto, ya habremos configurado todos los apartados necesarios para realizar nuestro
backup programado, por lo que solo nos queda por pulsar el botn OK de la pantalla New Job,
donde el programa ejecutar la tarea que acabamos de realizar.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 13

Figura 8. Al pulsar OK en la pantalla New Job el programa ejecutar nuestra tarea.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 14
4. Alternativa para SQL Server 2005 Express
Un problema con SQL Server 2005 Express es que no ofrece una manera de programar trabajos.
Veamos como crear backups programados usando las herramientas incluidas en el sistema operativo
como son las tareas programadas de Windows.
4.1. Tareas Programadas del Sistema Operativo
Se incluye con el sistema operativo de Windows la capacidad de ejecutar y de hacer funcionar tareas
programadas. Esto no se utiliza generalmente para los ambientes de SQL, Server, porque el SQL Server
Agent es ms robusto y permite un mayor control para realizar este tipo de tareas. No obstante, como
hemos comentado, con SQL Server 2005 Express la nica opcin es fijar una tarea programada a nivel
del sistema operativo o buscar un poco de herramienta de los terceros.
Para ejecutar una tarea programada, pulsaremos en el icono Tareas programadas que se encuentra
dentro del Panel de control de Windows.

Figura 9. Tareas Programadas en el panel de control de Windows.
Una vez seleccionado esto, se abrir la carpeta de tareas programadas. Para crear una nueva tarea,
pulsaremos doble clic en Agregar Tarea Programada.


Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 15

Figura 10. Agregar Tarea Programada.
Una vez hecho esto, se abrir la pantalla del asistente para crear una nueva tarea programada. Para
continuar, pulsaremos el botn Siguiente.

Figura 11. Asistente para crear una nueva tarea programada.
Seleccione la aplicacin que usted desea ejecutar. Para nuestros propsitos utilizaremos
SQLCMD.EXE. Para encontrar SQLCMD.EXE deberemos de pulsar el botn Examinar.
Podremos encontrarlo en "C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn".

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 16

Figura 12. Seleccionar la aplicacin a ejecutar.

Figura 13. SQLCMD.EXE en "C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn.
En la siguiente pantalla, especificaremos el nombre a la tarea programada, as como la frecuencia en la
que queremos que se ejecute.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 17

Figura 14. Nombre de la tarea programada y frecuencia esta.
En la siguiente pantalla, indicaremos la hora y la fecha de inicio de nuestra tarea.

Figura 15. Hora y la fecha de inicio de nuestra tarea.
En la siguiente pantalla, es necesario proporcionar las credenciales para la cuenta que funcionar esta
tarea.

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 18

Figura 16. Credenciales de un usuario.
En la siguiente pantalla, pulse el botn Finalizar y se guardar la tarea. Una cosa que usted debe
hacer es seleccionar el check para "Abrir las propiedades avanzadas de esta tarea cuando haga clic en
finalizar y as que podremos corregir el comando.

Figura 17. Resumen de la tarea.
Una vez finalizado, el asistente se cerrar. Volviendo a la pantalla Tareas programadas que
comentamos anteriormente, deberemos de pulsar doble clic encima de la tarea que acabamos de crear,

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 19
y cambiaremos el comando a ejecutar por:
sqlcmd -S serverName -E -i C:\Backup\Backup.sql
En concreto, este cdigo se interpretara de la siguiente forma:
sqlcmd
-S (esto especifica el servidor/nombre de la instancia de SQL Server)
serverName (esto es el servidor/nombre de instancia de SQL Server)
-E (Esto permite que usted haga una conexin de confianza)
-i (esto especifica el archivo de comandos a importar)
C:\Backup\Backup.sql (esto es el archivo que nosotros creamos anteriormente con los pasos de
comandos o scripts. Ver punto 2 del documento).

Figura 18. Cambiaremos el comando a ejecutar.
Si usted desea ejecutar el comando ahora para cerciorarse de que trabaja, va de nuevo a la carpeta de
tareas programadas y pulsa con el botn derecho del ratn teniendo seleccionada la tarea en cuestin.
Despus de esto, ante el men desplegable, seleccionar la opcin "ejecutar".

Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 20

Figura 19. Ejecutar la tarea programada.

You might also like