“La mente que se abre a una nueva idea nunva volverá a su tamaño original” -Albert Einstein– Semana 15 Logro de Aprendizaje Al finalizar de la sesión, el estudiante logrará crear copias de seguridad, restaurar y recuperar BD para brindar seguridad a los datos, reduciendo su vulnerabilidad y administrando de manera correcta la BD Bases de datos BASES DE DATOS Backups de BD en SQL Server Es una solución para la seguridad de datos críticos, reducir la pérdida de datos. Las copias de seguridad se realizan para prevenir las posibles pérdidas de datos como consecuencia de: ❖ Un problema de soporte. ❖ Errores de usuario. ❖ Una pérdida permanente del servidor. SQL Server permite hacer una copia de seguridad de la base de datos incluso cuando los usuarios están conectados Aunque la base de datos permanece accesible durante la copia de seguridad, algunas operaciones son imposibles, a saber: ➢ Crear o modificar una base de datos (fundamentalmente la extensión automática del diario (o registro) de transacciones). ➢ Crear un índice. ➢ Ejecutar operaciones que no están trazadas por un fichero de log, ya que el proceso de copia de seguridad utiliza el diario para garantizar la coherencia de los datos. Recomendaciones en copias de Seguridad BD ➢ A medida que una base de datos aumenta de tamaño, las copias de seguridad completas de la base de datos tardan más en completarse y requieren más espacio de almacenamiento. Para bases de datos grandes, considere complementar las copias de seguridad completas de la base de datos con una serie de copias de seguridad diferenciales de la base de datos . ➢ Calcule el tamaño de una copia de seguridad completa de la base de datos mediante el procedimiento almacenado del sistema sp_spaceused . ➢ De forma predeterminada, cada operación de copia de seguridad exitosa agrega una entrada en el registro de errores de SQL Server y en el registro de eventos del sistema. Importante Debe realizar al menos una copia de seguridad completa de la base de datos antes de poder realizar una copia de seguridad diferencial o del registro de transacciones. Copias de Seguridad BD P L A N I F I C A C I Ó N Tamaño de la BD Las tablas están sujetas a más modificaciones que otras Volumen de las modificaciones de datos Tiempo puede permanecer no operativa la base de datos Pérdida de modificaciones es crucial Servidor SQL está en un entorno multiservidor con una administración centralizada Duración de una operación de copia de seguridad completa de la BD Copias de Seguridad COMPLETAS BD Si únicamente se realizan copias de seguridad completas de las bases de datos, en caso de problema las transacciones validadas desde la última copia de seguridad completa se perderán. Las copias de seguridad completas exigen relativamente mucho tiempo y ocupan un espacio considerable en el soporte de copias de seguridad se adaptan mejor a las bases de datos de pequeño volumen y para las que es posible reproducir fácilmente todas las transacciones que tienen lugar desde la última copia de seguridad completa Archivos de copias de seguridad Copias de Seguridad DIFERENCIALES Las copias de seguridad diferenciales solo van a tener en cuenta los datos modificados desde la última copia de seguridad completa son más rápidas y menos voluminosas que las copias de seguridad completas y, asociadas a las copias de seguridad del diario de transacciones, pueden constituir una solución de copia de seguridad a la vez rápida y con buen rendimiento. Archivos de copias de seguridad Modificaciones desde la última copia de seguridad completa Copias de Seguridad DEL LOG DE TRANSACCIONES complemento de las copias de seguridad completas, siempre es posible establecer una política de copia de seguridad de los diarios de transacciones Es posible recuperar la totalidad de las transacciones validadas desde la última copia de seguridad completa de la base Reduce el riesgo de saturar el disco después de que aumente la extensión del archivo diario. La copia de seguridad de los diarios puede realizarse por medio de un trabajo planificado para una ejecución regular Archivos de copias de seguridad SQL Server genera puntos de control de sincronización (CHECKPOINT) de manera automática Copias de Seguridad de grupos de archivos Si la base de datos tiene un volumen importante de datos, las copias de seguridad completas y diferenciales pueden tardar mucho en ejecutarse. Para reducir este tiempo, se pueden hacer copias de seguridad de los datos por grupos de archivos. Esta operación es posible si se han definido grupos de archivos en el momento de crear la base de datos. Tenga cuidado, en este caso será necesario proporcionar copias de seguridad del registro de transacciones para garantizar la consistencia de los datos, ya que los diferentes grupos de archivos no se respaldarán al mismo tiempo, por lo que sus copias de seguridad no serán consistentes entre sí. Buenas prácticas de copias de seguridad Punto de partida minimizar los tiempos de restauración para perder el mínimo de datos posible. conservar todas las modificaciones que han tenido lugar desde la última copia de seguridad completa Todas las estrategias de copia de seguridad comienzan siempre por una copia de seguridad completa de la base. Copias de Seguridad BD Sintaxis de copias de Seguridad BD Copias de seguridad completa BACKUP DATABASE [WideWorldImportersDW] TO DISK = N'C:\Copias de Seguridad\WWIDW.bak' WITH NAME='BackupCompleto’ go Copias de seguridad diferencial BACKUP DATABASE [WideWorldImportersDW] TO DISK = N'C:\Copias de Seguridad\WWIDW.bak' WITH DIFFERENTIAL, NAME='BackupDiferencial' GO Copias de seguridad del log o registro de transacciones BACKUP LOG [WideWorldImportersDW] TO DISK = N'C:\Copias de Seguridad\WWIDW.bak' WITH NAME='Backup del log de transacciones' GO En caso de que la instrucción BACKUP se reutilice directamente, la reutilización de un archivo conlleva tres opciones posibles: ❖ INIT: para reemplazar el contenido de un archivo permanente, a condición de que la fecha de expiración de la copia de seguridad se haya superado (opción EXPIRATE) y que el archivo no sea miembro de un conjunto de copias de seguridad. ❖ NOINIT: para añadir la copia de seguridad a las ya presentes en el archivo. ❖ FORMAT: para poder reutilizar un archivo que ha participado en una copia de seguridad de varios archivos. Practica de copias de Seguridad BD Resolver los casos propuestos en clase sobre copias de seguridad BD Tener en cuenta ❖ Resolver los casos de estudio sobre los tipos de seguridad de BD ❖ Grabar el código escrito en archivo en PDF con sus apellidos en el siguiente formato ❖ CHAVEZ_SILVA_JOSE_T1 Conclusiones Debe realizar al menos una copia de seguridad completa de la base de datos para poder realizar una copia de seguridad diferencial o del registro de transacciones Si abre una ventana de PowerShell desde SQL Server Management Studio para conectarse a una instalación de SQL Server, puede omitir la parte de la credencial, ya que se usa automáticamente la credencial en SSMS para establecer la conexión entre PowerShell y la instancia de SQL Server. TRUSTWORTHY se establece en OFF en una copia de seguridad de base de datos Si DIFFERENTIAL y COPY_ONLY se usan juntas, COPY_ONLY se omite y se crea una copia de seguridad diferencial Referencias Bibliográficas Díaz, J. (2015). Utilización de BD relacionales Capacho, J. y Nieto, W. (2017) Diseño de base de datos Postigo, A. (2021) Base de datos. Ed. Paraninfo