Logo Studenta

Respaldo SQL Server

¡Estudia con miles de materiales!

Vista previa del material en texto

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. 
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. 
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: 
 
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: 
 
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. 
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: 
 
1. En el diálogo New Job ingrese el nombre del trabajo. 
2. 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: 
 
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. 
 
Haga clic en OK para añadir un paso, y haga clic en OK para crear un trabajo: 
 
1. Para programar un trabajo, en el diálogo New Jobs, debajo de la pestaña Schedule haga clic en New. 
2. En Job Schedule seleccione una frecuencia de ocurrencia y una fecha de inicio y haga clic en OK: 
 
Para verificar un trabajo creado, en elpanel 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: 
 
 
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.