Sunteți pe pagina 1din 23

6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(https://www.apexsql.com)

DOWNLOADS
(HTTPS://WWW.APEXSQL.COM/DOWNLOAD.ASPX)

PRICES (HTTPS://WWW.APEXSQL.COM/PURCHASE.ASPX)

SUPPORT (HTTPS://WWW.APEXSQL.COM/SUPPORT/)

(https://blog.apexsql.com) (https://www.apexsql.com/contact/)

(https://order.shareit.com/cart/view)

(https://solutioncenter.apexsql.com/es/)

Solution center

Cómo programar un respaldo de SQL Server

Tener un buen plan de respaldo y restauración es una parte importante de una estrategia de recuperación de
desastres. Este artículo describirá 3 diferentes soluciones/enfoques para crear una copia de seguridad programada
en SQL Server.

Como una parte de la estrategia de respaldos, muchos tipos de copias de seguridad pueden ser usadas juntas.

Tipos de copias de seguridad

1. Copias de seguridad de bases de datos completas. Incluyen todos los objetos de la base de datos, tablas
de sistema, datos y transacciones que ocurrieron durante la toma de copia de seguridad. Las copias de
seguridad completas permiten realizar una restauración completa a un estado antes de que se realizara el
respaldo.
2. Copias de seguridad diferenciales. Contienen datos que han cambiado desde la última copia de seguridad
completa y transacciones que ocurren durante el proceso de respaldo. Una copia de seguridad diferencial es
usada junto con la última copia de seguridad de la base de datos completa. Después de tomar una copia de
seguridad diferencial, dado que es tomada después de la última copia de seguridad completa, todas las
copias de seguridad diferenciales antiguas se vuelven obsoletas.
3. Copias de seguridad de registros de transacciones. Graban todas las transacciones que han ocurrido en
la base de datos desde la copia de seguridad del registro de transacciones previa y luego truncan el registro
de transacciones. Una copia de seguridad de registro de transacciones se asegura de que la base de datos se
recupere a un punto específico del tiempo; por ejemplo, a un momento previo a la pérdida de datos.
4. Copias de seguridad de archivos y grupos de archivos. Esta opción es la más apropiada para respaldar
bases de datos muy grandes. Un archivo de copia de seguridad contiene todos los datos en uno o más
archivos o grupos de archivos. Una copia de seguridad del registro de transacciones tiene también que ser
realizado para cubrir todos los archivos de respaldos desde el principio hasta el final usando copias de
seguridad para restaurar la base de datos.

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 1/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

5. Copias de seguridad de sólo copia. Son principalmente usadas cuando es necesario respaldar una base de
datos sin afectar el proceso de respaldo y restauración para una base de datos específica. La funcionalidad
de copias de seguridad de sólo copia es la misma que la de copias de seguridad completas, con la diferencia
de que una copia de seguridad del registro de transacciones respaldará todas las transacciones desde que el
último respaldo completo se realizó e ignorará la existencia del respaldo de copia, por lo tanto una copia del
respaldo no puede ser usada como la base para los respaldos diferencial y de registro de transacciones.

Prácticas de estrategia de toma de respaldos recomendadas

Localización de la copia de seguridad

Se recomienda que las copias de seguridad no sean almacenadas en la misma localización (unidad física) donde
los archivos de la base de datos son almacenados. En casos donde una unidad física falle, use la unidad o una
localización de red para realizar la restauración. Si la localización de un archivo no es especificada cuando se crea
la base de datos, SQL Server restaurará los archivos de la base de datos en las localizaciones por defecto.

Note que cambiar las localizaciones por defecto no moverá los datos actuales y los archivos de registros a una
nueva localización. Esto sólo será aplicable a las bases de datos creadas después de este cambio.

Copias de seguridad programadas y automatizadas

Para prevenir y respaldar de manera segura y confiable, es necesario configurar (automatizar) el proceso de
respaldo a través de programas. Crear programas de copias de seguridad es importante, ya que con el tiempo las
copias de seguridad actuales se vuelven obsoletas.

Manténgase protegido y esté seguro de que usted siempre tiene a mano una manera de restablecer sus datos
hasta el punto donde la base de datos falló. Las copias de seguridad programadas proveen un historial de datos
preciso.

La frecuencia especificada de los respaldos depende de las necesidades de negocio de la compañía, etc., y es
definida por el Objetivo de Punto de Recuperación (Recovery Point Objective, RPO). Por ejemplo, si el Acuerdo a
Nivel de Servicio (Service Level Agreement, SLA) de una organización especifica que no más de los datos de una
hora atrás pueden ser perdidos de la base de datos, el RPO es una hora.

Copias de seguridad de prueba

La estrategia de respaldo y recuperación no puede ser completada hasta que las copias de seguridad son
exitosamente restauradas para cumplir con todos los requerimientos y condiciones incluyendo todas las
combinaciones que la estrategia de recuperación requiere. Hay una variedad de factores a considerar como: los
requerimientos de la organización respecto del uso de los datos, la protección, etc.

Verificación de la copia de seguridad

Verificar la copia de seguridad asegura que la copia de seguridad es creada correctamente, físicamente intacta,
que todos los archivos en la copia de seguridad son legibles y pueden ser restaurados en el evento que el usuario
necesite usarla, y que todas las transacciones sean consistentes. Es importante entender que verificar la copia de
seguridad no verifica la estructura de los datos. De todas maneras, si la copia de seguridad fue creada usando
WITH CHECKSUMS, verificarla usando WITH CHECKSUMS puede proveer una buena indicación de la confiabilidad
de los datos en la copia de seguridad.

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 2/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Usando T-SQL:

Incluir la sentencia CHECKSUM asegura la consistencia de los datos en el destino de la base de datos. Para incluir
CHECKSUM use la siguiente consulta:

BACKUP DATABASE [AdventureWorks2012]


TO DISK = N'F:\Backup\AW12.bak'
WITH CHECKSUM;

SQL Server Management Studio también provee opciones para incluir en la verificación de la copia de seguridad
una verificación CHECKSUM cuando se esté creando una tarea de respaldo:

(/wp-

content/uploads/2015/03/word-image162.png)

Las opciones Verify backup when finished y Perform checksum before writing to media son usadas como un
seguro de que la copia de seguridad y sus datos son consistentes.

También mostraremos cómo incluir verificaciones cuando programan copias de seguridad.

En este artículo crearemos una copia de seguridad programada en SQL Server usando un trabajo de SQL Server
Agent, SQL Server Maintenance Plans y ApexSQL Backup.

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 3/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Crear una copia de seguridad programada de SQL Server usando un trabajo de SQL Server
Agent

Para automatizar y programar una copia de seguridad con SQL Server Agent:

1. En el panel Object Explorer, debajo del nodo SQL Server Agent, haga clic derecho en jobs y seleccione New
job desde el menú contextual:

2. En el diálogo New Job ingrese el nombre del trabajo.


3. Debajo de la pestaña Steps, haga clic en el botón New y cree un paso de respaldo insertando una sentencia
T-SQL. En este caso, la cláusula CHECKSUM tiene que ser incluida en el código T-SQL:

USE AdventureWorks2012
GO
BACKUP DATABASE [AdventureWorks2012]
TO DISK = N'F:\Backup\AW12.bak'
WITH CHECKSUM;

Para crear una copia de seguridad diferencial use el siguiente script T-SQL:

USE AdventureWorks2012
GO
BACKUP DATABASE [AdventureWorks2012]
TO DISK = N'F:\Backup\AW12.bak'
WITH CHECKSUM;

BACKUP DATABASE [AdventureWorks2012]


TO DISK = N'F:\Backup\AWD12.bak'
WITH DIFFERENTIAL;
WITH CHECKSUM;

GO

Para respaldar el registro de transacciones use el siguiente script:

BACKUP LOG [AdventureWorks2012]


TO DISK = N'F:\Logs\AWD12.log';
GO

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 4/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Note: Para crear una copia de seguridad del registro de transacciones o de la base de datos SQL Server,
una copia de seguridad completa de la base de datos tiene que existir. Si la base de datos deseada nunca
ha sido respaldada, antes de crear copias de seguridad diferenciales, primero cree una copia de seguridad
completa. Las copias de seguridad de los registros de transacciones pueden ser usadas junto a la copia de
seguridad completa de la base de datos. Por ejemplo, una copia de seguridad completa puede ser
programada cada 24 horas, una copia de seguridad diferencial puede ser realizada cada 5 horas, y una
copia de seguridad del registro de transacciones cada 15 minutos.

(/wp-content/uploads/2015/03/word-image164.png)

4. Haga clic en OK para añadir un paso, y haga clic en OK para crear un trabajo:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 5/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-content/uploads/2015/03/word-image165.png)

5. Para programar un trabajo, en el diálogo New Jobs, debajo de la pestaña Schedule haga clic en New.

6. En Job Schedule seleccione una frecuencia de ocurrencia y una fecha de inicio y haga clic en OK:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 6/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-content/uploads/2015/03/word-image166.png)

Para verificar un trabajo creado, en el panel Object Explorer y debajo de SQL Server Agent ➜ Jobs, haga clic
derecho en el trabajo creado anteriormente y seleccione la opción Start job at step:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 7/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Para usar SQL Server Agent para respaldar todas las bases de datos en una instancia hay dos enfoques, los cuales
requieren algo de trabajo manual. Un enfoque es crear un paquete SSIS usando la opción Backup Database Task
de la barra de herramientas SSIS y crear un trabajo de SQL Server Agent para programarlo.

El otro enfoque es escribir un script T-SQL para respaldar todas las bases de datos en el diálogo SQL Server Agent
Job Step.

Crear una copia de seguridad programada en SQL Server usando SQL Server Maintenance
Plans

Hay dos opciones para crear una tarea de respaldo programado usando SQL Server Maintenance Plans: Creando
manualmente un nuevo plan y usando Maintenance Plan Wizard.

Para crear manualmente una tarea de respaldo programado:

1. En el panel Object Explorer, debajo del nodo Management, haga clic derecho en Maintenance Plans y
seleccione la opción New Maintenance Plan:

2. Desde la barra de herramientas Maintenance Plan Tasks seleccione Back Up Database Task:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 8/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Maintenance Plan Wizard también provee la tarea Check database integrity que puede ser incluida en
Maintenance Plan:

3. Haga doble clic en el plan añadido y establezca las opciones de respaldo:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 9/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-content/uploads/2015/03/word-image172.png)

4. Para programar un trabajo de SQL Server Agent use la opción Sub plan scheduling.
5. Cuando el plan sea creado, haga clic en Save y esta acción creará un trabajo correspondiente en la carpeta
SQL Server Agent ➜ Jobs.

El método para crear un nuevo plan de mantenimiento es a través de Maintenance Plan Wizard guía al usuario a
través del proceso, pero esta opción provee menos opciones granulares.

Para automatizar y programar una copia de seguridad usando SQL Server Maintenance Plan Wizard:

1. En el panel Object Explorer, debajo del nodo Management, haga clic derecho en Maintenance Plans y
seleccione la opción Maintenance Plan Wizard:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 10/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

2. En la ventana Select Plan Properties, especifique un nombre de plan. Para programar un trabajo de SQL
Server Agent haga clic en el botón Change:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 11/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-content/uploads/2015/03/word-image175.png)

3. En Select Maintenance Plan Tasks seleccione las opciones Back Up Database y Check data integrity. La
tarea Check data integrity realizar una verificación interna de consistencia de los datos y las páginas del
índice dentro de la base de datos:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 12/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

4. En la siguiente ventana configure la tarea de mantenimiento especificando la base de datos para respaldar
y las opciones de respaldo. En la ventana Define Back Up Database Task también seleccione la opción
Verify backup integrity:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 13/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-content/uploads/2015/03/word-image177.png)

5. Después de verificar las selecciones y acciones haga clic en Finish:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 14/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Los Planes de Mantenimiento son más apropiados para Administradores de Bases de Datos con menos
experiencia porque proveen una Interfaz Gráfica fácil de usar, y no requieren scripts de mantenimiento
manualmente escritos. La desventaja de los Planes de Mantenimiento es que las tareas que proveen son básicas y
no dejan espacio a la personalización.

Un Plan de Mantenimiento es también atómico y por lo tanto no puede correr múltiples tareas. Cada tipo de tarea
de mantenimiento dentro de un Plan de Mantenimiento puede ser configurada sólo para correr una vez dentro de
ese Plan. Por ejemplo, si una tarea que es hecha para eliminar archivos de copias de seguridad antiguos, sólo

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 15/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

eliminará un tipo de archivo al mismo tiempo. Debido a esto, múltiples Planes de Mantenimiento tiene que ser
creados sólo para realizar una sola tarea, en algunos casos, y cada Plan de Mantenimiento tiene que tener un
correspondiente trabajo de SQL Server Agent a ser programado.

Crear una copia de seguridad programada de SQL Server usando ApexSQL Backup

Como vimos cuando programamos una copia de seguridad SQL Server como un trabajo de SQL Server Agent,
tenemos que escribir un script T-SQL. También, para cumplir con el SLA de la organización, tendríamos que hacer
2 trabajos más, uno para la copia de seguridad diferencial y otro para el registro de transacciones.

Para ahorrar tiempo gastado en escribir scripts T-SQL y eliminar la necesidad de mantener los planes de respaldo y
sus trabajos correspondientes cuando se usa SQL Server Maintenance Plans, una herramienta de terceros,
ApexSQL Backup, puede ser usada.

ApexSQL Backup es un administrador de copias de seguridad SQL Server


(https://www.apexsql.com/sql_tools_backup.aspx) que permite automatizar y programar trabajos de respaldo SQL
Server en una sola tarea, mientras preserva la cadena de copias de seguridad para una restauración fácil a un
punto en el tiempo (retrotraer la base de datos). ApexSQL Backup también puede correr múltiples tareas al mismo
tiempo y provee una solución integrada para programar una copia de seguridad de base de datos para una o
todas las bases de datos con sólo unos clics.

Para crear una copia de seguridad SQL Server programada en ApexSQL Backup:

1. En la pestaña Home del menú principal seleccione la opción Backup:

2. En Backup wizard especifique el nombre del servidor, el nombre de la base de datos y el tipo de copia de
seguridad. ApexSQL Backup soporta todos los tipos de copias de seguridad y provee una opción para
seleccionar todas la bases de datos:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 16/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-

content/uploads/2015/03/word-image1811.png)

3. En la ventana Type and output especifique una carpeta destino y un nombre de salida:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 17/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-

content/uploads/2015/03/word-image1821.png)

(/wp-content/uploads/2015/03/word-image1831.png)

4. En la ventana Options, especifique las opciones de respaldo como verificación de copia de seguridad,
compresión, cifrado, etc. ApexSQL Backup ofrece opciones para incluir el paso Verify backup when finished
y el paso Perform checksum before writing to media durante el proceso de crear una tarea de copia de
seguridad sin la necesidad de escribir un script separado:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 18/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-

content/uploads/2015/03/word-image1841.png)

5. En la siguiente ventana seleccione la opción Schedule y especifique la frecuencia de ocurrencia. ApexSQL


Backup permite programar una tarea de copia de seguridad durante el proceso de crear una tarea:

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 19/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

(/wp-

content/uploads/2015/03/word-image1851.png)

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 20/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

6. Envíe la copia de seguridad programada.

Aquí está una revisión de los tres enfoques para programar copias de seguridad de bases de datos:

SQL Server Maintenance ApexSQL


Agent Plans Backup

Se necesita scripts T-SQL Sí No No

Puede respaldar todas las bases de datos


No Sí Sí
sin un script

Puede ejecutar una tarea sin un trabajo


Sí No Sí
adicional

Puede correr múltiples tareas al mismo


No No Sí
tiempo

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 21/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

Recursos útiles:

Backup Overview (SQL Server) (https://msdn.microsoft.com/en-us/library/ms175477.aspx)


Maintenance Plans (https://msdn.microsoft.com/en-us/library/ms187658.aspx)
Schedule a Job (https://msdn.microsoft.com/en-us/library/ms191439.aspx)

Traductor: Daniel Calbimonte (https://mvp.microsoft.com/en-us/PublicProfile/4029190?


fullName=Daniel%20Calbimonte)

Related Posts:
1. Cómo restaurar tablas específicas desde una copia de seguridad SQL Server
(https://solutioncenter.apexsql.com/es/como-restaurar-tablas-especificas-desde-una-copia-de-
seguridad-sql-server/)
2. Cómo programar una restauración de copia de seguridad de una base de datos en SQL Server
(https://solutioncenter.apexsql.com/es/como-programar-una-restauracion-de-copia-de-seguridad-de-
una-base-de-datos-en-sql-server/)
3. Cómo crear múltiples espejos de respaldos SQL Server (https://solutioncenter.apexsql.com/es/como-
crear-multiples-espejos-de-respaldos-sql-server/)
4. Cómo crear archivos de copia de seguridad de partición de la base de datos de SQL Server
(https://solutioncenter.apexsql.com/es/como-crear-archivos-de-copia-de-seguridad-de-particion-de-la-
base-de-datos-de-sql-server/)
5. Cómo eliminar los archivos antiguos de respaldo de la base de datos automáticamente en SQL Server
(https://solutioncenter.apexsql.com/es/como-eliminar-los-archivos-antiguos-de-respaldo-de-la-base-
de-datos-automaticamente-en-sql-server/)

agosto 23, 2016

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 22/23
6/8/2018 Cómo programar un respaldo de SQL Server - Solution center

0 Comments Solution Center 


1 Login

Sort by Best
 Recommend ⤤ Share

Start the discussion…

LOG IN WITH
OR SIGN UP WITH DISQUS ?

Name

Be the first to comment.

ALSO ON SOLUTION CENTER

How to visualize SQL database objects SQL code refactoring – ways to improve
dependencies database performance (part I) – …
2 comments • a year ago 1 comment • a year ago
Marko — Hi Jash,ApexSQL Search doesn’t have such Vinh Ba Nguyen — good
option. This option exists in ApexSQL Clean, you
candownload ApexSQL Clean …

How to improve SQL code layout and Create daily database backups with unique
presentation names in SQL Server
2 comments • a year ago 2 comments • a year ago
Marko — Hi pcsdisqus314,Yes you are right and Muhyadin Abdullahi — Thank you for the post. It
thanks for the great suggestion, wewill consider to really helped me
implement this in some of the next versions

✉ Subscribe d Add Disqus to your siteAdd DisqusAdd 🔒 Disqus' Privacy PolicyPrivacy PolicyPrivacy

Software Sales

What's supported Support plans


(https://www.apexsql.com/supported-
(https://www.apexsql.com/support_plans.aspx)
software.aspx)
Renewals and upgrades
Requirements (https://www.apexsql.com/renewals_and_upgrades.aspx)
(https://www.apexsql.com/requirements.aspx)
Licensing
Testimonials (https://blog.apexsql.com/how-
(https://www.apexsql.com/testimonials.aspx)
are-apexsql-tools-licensed/)
Help News

Technical support What's new


(https://www.apexsql.com/support/)
(https://www.apexsql.com/whats_new.aspx)
Customer service What's next
(https://www.apexsql.com/Customer_service/)
(https://www.apexsql.com/whats_next.aspx)
Resend keys Blog
(https://www.apexsql.com/resend_keys.aspx)
(https://blog.apexsql.com/)
Free stuff Company

Tools Contact
(https://www.apexsql.com/free/) (https://www.apexsql.com/contact/)
Editions About
(https://www.apexsql.com/solutions/community_editions.aspx)
(https://www.apexsql.com/AboutUs.aspx)
Licenses Community
(https://www.apexsql.com/free_sql_tools_licenses.aspx)
(https://www.apexsql.com/community/)

© 2018 ApexSQL LLC   |   +1 (866) 665-5500   |   (https://tv.apexsql.com/)  (https://twitter.com/ApexSQL) 

sales@apexsql.com (mailto:sales@apexsql.com)   |   (https://www.facebook.com/ApexSQL) 


support@apexsql.com (mailto:support@apexsql.com)
(https://blog.apexsql.com)

https://solutioncenter.apexsql.com/es/como-programar-un-respaldo-de-sql-server/ 23/23

S-ar putea să vă placă și