SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Realizar un Backup Programado
con SQL Server 2005
WhitePaper
Marzo de 2007
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 2
Contenidos
1. Propósito _____________________________________________ 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. Propósito
Este documento tiene como propósito explicar la acción 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 versión 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 también 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 características 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
----------------------------------------------------------------------------
-- Parámetros de entrada
DECLARE @strDatabase nvarchar(50)
DECLARE @strFolder nvarchar(500)
-- Seleccione el nombre de la base de datos y su ubicación
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
-- más 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 más información 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 más la fecha (compuesta
por el año, el mes, el día, 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, según sea la versión 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 versión
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 opción “Jobs” (el cual se encuentra dentro del objeto “SQL
Server Agent”) y pulsar el botón derecho del ratón 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 opción, se abrirá la pantalla siguiente, donde escribiremos el nombre de la tarea que
estamos creando en la pestaña “General”.
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 7
Figura 2. Pestaña “General” al configurar un Job.
Una vez hecho esto, debemos de seleccionar la pestaña “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 botón “New”.
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 8
Figura 3. Pestaña “Steps” al configurar un Job.
Al hacer esto, se abrirá una nueva pantalla. En ella, añadiremos 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 configuración que hemos creado es correcta, si pulsamos el botón “Parse”, el programa
nos lanzará un mensaje donde nos especificara si esta sentencia es coherente, o tiene algún tipo de
error.
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 10
Figura 5. Pantalla “New Job Steps” añadir la sentencia SQL.
Una vez configurado estos campos, pulsaremos el botón “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 pestaña “Schedule”,
y pulsar el botón “New…”.
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 11
Figura 6. Pestaña “Schedules” al configurar un Job.
Al realizar esto, se abrirá la pantalla “New Job Schedule”. Aquí debemos de especificar:
• El nombre de la planificación en el campo “Name”,
• el tipo de planificación en el campo “Schedule Type”,
• la frecuencia con la que queremos hacer nuestra tarea en los apartados “Frequency” y “Daily
frequency”,
• y la duración de la tarea.
Una vez hecho esto, en el campo “Summary” se acumulara el resultado final de la planificación que
hayamos configurado. Cuando hayamos terminado esta acción, pulsaremos el botón “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 botón “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 más robusto y permite un mayor control para realizar este tipo de tareas. No obstante, como
hemos comentado, con SQL Server 2005 Express la única opción 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 botón “Siguiente”.
Figura 11. Asistente para crear una nueva tarea programada.
Seleccione la aplicación que usted desea ejecutar. Para nuestros propósitos utilizaremos
SQLCMD.EXE. Para encontrar SQLCMD.EXE deberemos de pulsar el botón “Examinar…”.
Podremos encontrarlo en "C:Archivos de programaMicrosoft SQL Server90ToolsBinn".
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 16
Figura 12. Seleccionar la aplicación a ejecutar.
Figura 13. SQLCMD.EXE en "C:Archivos de programaMicrosoft SQL Server90ToolsBinn”.
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 botón “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:BackupBackup.sql
En concreto, este código se interpretaría 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 conexión de confianza)
• -i (esto especifica el archivo de comandos a importar)
• C:BackupBackup.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 botón derecho del ratón teniendo seleccionada la tarea en cuestión.
Después de esto, ante el menú desplegable, seleccionar la opción "ejecutar".
Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 20
Figura 19. Ejecutar la tarea programada.

Más contenido relacionado

Destacado

Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
Manejo de triggers en sql server
Manejo de triggers en sql server Manejo de triggers en sql server
Manejo de triggers en sql server Dheeyi William
 
Migración SQL Server
Migración SQL ServerMigración SQL Server
Migración SQL ServerAntonio Soto
 
Triggers
TriggersTriggers
Triggersbdatos
 
Experiencias en Migraciones a SQL Server 2008 en el último año
Experiencias en Migraciones a SQL Server 2008 en el último año Experiencias en Migraciones a SQL Server 2008 en el último año
Experiencias en Migraciones a SQL Server 2008 en el último año SolidQ
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NETbrobelo
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql serverEmily_Fdez
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenadoselylupita
 
La diferencia entre función y procedimiento
La diferencia entre función y procedimientoLa diferencia entre función y procedimiento
La diferencia entre función y procedimientoAnita_Sango
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadoresPablo Jose
 
VB.NET Procedimientos y Funciones
VB.NET Procedimientos y FuncionesVB.NET Procedimientos y Funciones
VB.NET Procedimientos y FuncionesMarvin Romero
 

Destacado (20)

Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Manejo de triggers en sql server
Manejo de triggers en sql server Manejo de triggers en sql server
Manejo de triggers en sql server
 
Migración SQL Server
Migración SQL ServerMigración SQL Server
Migración SQL Server
 
Migración a sql server 2008
Migración a sql server 2008Migración a sql server 2008
Migración a sql server 2008
 
Triggers
TriggersTriggers
Triggers
 
Cursores
CursoresCursores
Cursores
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Experiencias en Migraciones a SQL Server 2008 en el último año
Experiencias en Migraciones a SQL Server 2008 en el último año Experiencias en Migraciones a SQL Server 2008 en el último año
Experiencias en Migraciones a SQL Server 2008 en el último año
 
Trigger
TriggerTrigger
Trigger
 
Sql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and RestoreSql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and Restore
 
Triggers
TriggersTriggers
Triggers
 
Vistas
VistasVistas
Vistas
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
 
Programación III
Programación IIIProgramación III
Programación III
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Disparadores
DisparadoresDisparadores
Disparadores
 
La diferencia entre función y procedimiento
La diferencia entre función y procedimientoLa diferencia entre función y procedimiento
La diferencia entre función y procedimiento
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
 
VB.NET Procedimientos y Funciones
VB.NET Procedimientos y FuncionesVB.NET Procedimientos y Funciones
VB.NET Procedimientos y Funciones
 

Similar a 0001

Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.JOSE AHIAS LOPEZ PORTILLO
 
Manual de Instalacion de SQL Server
Manual de Instalacion de SQL ServerManual de Instalacion de SQL Server
Manual de Instalacion de SQL ServerEmanuel
 
Antología de taller de base de datos 2003
Antología de taller de base de datos 2003Antología de taller de base de datos 2003
Antología de taller de base de datos 2003erwuick
 
Microsoft sql-server-2012
Microsoft sql-server-2012Microsoft sql-server-2012
Microsoft sql-server-2012Vannesa Salazar
 
Guía de instalación de sql server 2008 r2 paso a paso
Guía de instalación de sql server 2008 r2 paso a pasoGuía de instalación de sql server 2008 r2 paso a paso
Guía de instalación de sql server 2008 r2 paso a pasoKira_Bravo
 
Pantallasos del segundo laboratorio (2)
Pantallasos  del segundo laboratorio (2)Pantallasos  del segundo laboratorio (2)
Pantallasos del segundo laboratorio (2)Javier Canales
 
Pantallasos del segundo laboratorio (1)
Pantallasos  del segundo laboratorio (1)Pantallasos  del segundo laboratorio (1)
Pantallasos del segundo laboratorio (1)Javier Canales
 
Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Abimael Desales López
 
Manual de Instalación de Base de Datos
Manual de Instalación de Base de DatosManual de Instalación de Base de Datos
Manual de Instalación de Base de DatosAdrian Miranda
 
Abd mauro patino_s3
Abd mauro patino_s3Abd mauro patino_s3
Abd mauro patino_s3mpatinop
 
Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Juan Timoteo Cori
 
Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Robert Rodriguez
 
Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Emerson Garay
 
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01JOSE AHIAS LOPEZ PORTILLO
 
Manual instalacion sql_server
Manual instalacion sql_serverManual instalacion sql_server
Manual instalacion sql_serverJhon_Marjorie
 

Similar a 0001 (20)

Sql server 2005-instalacion
Sql server 2005-instalacionSql server 2005-instalacion
Sql server 2005-instalacion
 
Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.
 
Manual de Instalacion de SQL Server
Manual de Instalacion de SQL ServerManual de Instalacion de SQL Server
Manual de Instalacion de SQL Server
 
Antología de taller de base de datos 2003
Antología de taller de base de datos 2003Antología de taller de base de datos 2003
Antología de taller de base de datos 2003
 
Microsoft sql-server-2012
Microsoft sql-server-2012Microsoft sql-server-2012
Microsoft sql-server-2012
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Guía de instalación de sql server 2008 r2 paso a paso
Guía de instalación de sql server 2008 r2 paso a pasoGuía de instalación de sql server 2008 r2 paso a paso
Guía de instalación de sql server 2008 r2 paso a paso
 
Pantallasos del segundo laboratorio (2)
Pantallasos  del segundo laboratorio (2)Pantallasos  del segundo laboratorio (2)
Pantallasos del segundo laboratorio (2)
 
Pantallasos del segundo laboratorio (1)
Pantallasos  del segundo laboratorio (1)Pantallasos  del segundo laboratorio (1)
Pantallasos del segundo laboratorio (1)
 
Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10
 
Instalacion sqlserver2008
Instalacion sqlserver2008Instalacion sqlserver2008
Instalacion sqlserver2008
 
Manual de Instalación de Base de Datos
Manual de Instalación de Base de DatosManual de Instalación de Base de Datos
Manual de Instalación de Base de Datos
 
Abd mauro patino_s3
Abd mauro patino_s3Abd mauro patino_s3
Abd mauro patino_s3
 
Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005
 
Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005Instalación de microsoft sql server 2005
Instalación de microsoft sql server 2005
 
Sql server
Sql serverSql server
Sql server
 
Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01
 
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
 
Manual instalacion sql_server
Manual instalacion sql_serverManual instalacion sql_server
Manual instalacion sql_server
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 

0001

  • 1. Realizar un Backup Programado con SQL Server 2005 WhitePaper Marzo de 2007
  • 2. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 2 Contenidos 1. Propósito _____________________________________________ 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
  • 3. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 3 1. Propósito Este documento tiene como propósito explicar la acción 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 versión 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 también que sea capaz de realizar sentencias en SQL.
  • 4. 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 características 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 ---------------------------------------------------------------------------- -- Parámetros de entrada DECLARE @strDatabase nvarchar(50) DECLARE @strFolder nvarchar(500) -- Seleccione el nombre de la base de datos y su ubicación 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 -- más 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 más información 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
  • 5. 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 más la fecha (compuesta por el año, el mes, el día, 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, según sea la versión de QL Server 2005 que tenemos instalada en nuestro equipo, la forma de proceder.
  • 6. 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 versión 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 opción “Jobs” (el cual se encuentra dentro del objeto “SQL Server Agent”) y pulsar el botón derecho del ratón 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 opción, se abrirá la pantalla siguiente, donde escribiremos el nombre de la tarea que estamos creando en la pestaña “General”.
  • 7. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 7 Figura 2. Pestaña “General” al configurar un Job. Una vez hecho esto, debemos de seleccionar la pestaña “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 botón “New”.
  • 8. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 8 Figura 3. Pestaña “Steps” al configurar un Job. Al hacer esto, se abrirá una nueva pantalla. En ella, añadiremos 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”.
  • 9. 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 configuración que hemos creado es correcta, si pulsamos el botón “Parse”, el programa nos lanzará un mensaje donde nos especificara si esta sentencia es coherente, o tiene algún tipo de error.
  • 10. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 10 Figura 5. Pantalla “New Job Steps” añadir la sentencia SQL. Una vez configurado estos campos, pulsaremos el botón “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 pestaña “Schedule”, y pulsar el botón “New…”.
  • 11. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 11 Figura 6. Pestaña “Schedules” al configurar un Job. Al realizar esto, se abrirá la pantalla “New Job Schedule”. Aquí debemos de especificar: • El nombre de la planificación en el campo “Name”, • el tipo de planificación en el campo “Schedule Type”, • la frecuencia con la que queremos hacer nuestra tarea en los apartados “Frequency” y “Daily frequency”, • y la duración de la tarea. Una vez hecho esto, en el campo “Summary” se acumulara el resultado final de la planificación que hayamos configurado. Cuando hayamos terminado esta acción, pulsaremos el botón “OK”.
  • 12. 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 botón “OK” de la pantalla “New Job”, donde el programa ejecutará la tarea que acabamos de realizar.
  • 13. 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.
  • 14. 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 más robusto y permite un mayor control para realizar este tipo de tareas. No obstante, como hemos comentado, con SQL Server 2005 Express la única opción 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”.
  • 15. 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 botón “Siguiente”. Figura 11. Asistente para crear una nueva tarea programada. Seleccione la aplicación que usted desea ejecutar. Para nuestros propósitos utilizaremos SQLCMD.EXE. Para encontrar SQLCMD.EXE deberemos de pulsar el botón “Examinar…”. Podremos encontrarlo en "C:Archivos de programaMicrosoft SQL Server90ToolsBinn".
  • 16. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 16 Figura 12. Seleccionar la aplicación a ejecutar. Figura 13. SQLCMD.EXE en "C:Archivos de programaMicrosoft SQL Server90ToolsBinn”. En la siguiente pantalla, especificaremos el nombre a la tarea programada, así como la frecuencia en la que queremos que se ejecute.
  • 17. 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.
  • 18. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 18 Figura 16. Credenciales de un usuario. En la siguiente pantalla, pulse el botón “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,
  • 19. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 19 y cambiaremos el comando a ejecutar por: sqlcmd -S serverName -E -i C:BackupBackup.sql En concreto, este código se interpretaría 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 conexión de confianza) • -i (esto especifica el archivo de comandos a importar) • C:BackupBackup.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 botón derecho del ratón teniendo seleccionada la tarea en cuestión. Después de esto, ante el menú desplegable, seleccionar la opción "ejecutar".
  • 20. Realizar un Backup Programado con SQL Server 2005 | WhitePaper | 20 Figura 19. Ejecutar la tarea programada.