Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Copias de Seguridad
Copias de Seguridad
El registro de transacciones permite las siguientes operaciones: Recuperacin de transacciones individuales. Recuperacin de todas las transacciones incompletas cuando se inicia SQL Server. Puesta al da de una base de datos, un archivo, un grupo de archivos o una pgina restaurados hasta el momento exacto del error. Permitir replicacin transaccional. Compatibilidad con soluciones de alta disponibilidad y recuperacin ante desastres: Grupos de disponibilidad AlwaysOn, creacin de reflejo de base de datos y trasvase de registros.
Qu es el Transaction Log? Por cada bbdd (archivo .mdf) se crea un archivo de log (archivo .ldf) en el que se almacenan todos los cambios que se producen en la bbdd. En l se van guardando cambios que luego permitirn volver atrs (rollback) en una transaccin o incluso hacer una recuperacin a un estado anterior.
Por qu puede ocupar mucho ms que la propia bbdd? Cuando se ejecutan muchas consultas y/o afectan a un gran nmero de registros, produciendo cambios en la bbdd. Todos los cambios se van almacenando en el transaction log, si adems no tenemos un plan de mantenimiento que reduzca este log de forma peridica el .ldf se ir llenando hasta ocupar una gran cantidad de espacio y terminar por llenar el disco.
USE [basecar] Utilizamos la bbdd basecar CHECKPOINT Para que todas las pginas de memoria se escriban en la bd GO
EXEC sp_addumpdevice disk ,CopiaMiBase_basecar ,c:\LogMiBase_basecar.bak Creamos un punto donde guardaremos el log y procedemos a hacer el backup con truncado del log BACKUP DATABASE basecar TO CopiaMiBase_basecar BACKUP LOG pruebamm WITH TRUNCATE_ONLY DBCC SHRINKFILE (basecar_log, 10) - Dejamos el archivo de log con un tamao de 10 Mb
USE [basecar] Utilizamos la bbdd basecar CHECKPOINT Para que todas las pginas de memoria se escriban en la bd GO BACKUP LOG basecar WITH TRUNCATE_ONLY Truncamos el registro DBCC SHRINKFILE (basecar _Log, 10) Lo reducimos a 10 Mb
Proporciona una lnea de base Hace copia de seguridad de los archivos, objetos y datos originales Hace copia de seguridad de partes del USE master registro de transacciones EXEC sp_addumpdevice 'disk', 'NwindBac',
C:\MyBackupDir\NwindBac.bak' BACKUP DATABASE Northwind TO NwindBac
Northwind Log Copia de seguridad D:\ NwindBac
Datos
Permite recuperar los datos hasta el momento en que se produjo el error del sistema
D:\
Grupo 1
Escenario 2
Table
D:\
Grupo 1
Index 1 Index 2
Grupo 2
Grupo 3
El siguiente ejemplo muestra cmo se consigue una copia de seguridad de la base de datos basedatoscar en forma complete en el disco
El siguiente ejemplo muestra cmo se logra una copia de seguridad de la base de datos basedatoscar en forma diferencial en el disco
Tipos de Restore Los tipos de restore se adecuan segn el tipo de backup que se tiene. Es decir, si se quiere realizar un restore de un archivo de backup log, se realizar un restore log. Del mismo modo, para un backup full se realizar un restore full, para un backup diferencial se tendr que realizar un restore diferencial.
Restore - Full Backup: Muchas operaciones de restore se inician recreando la base de datos en algn punto especfico del tiempo y luego, se restauran subsiguientes backups para llevar la base de datos hacia un punto del tiempo ms particular. Este proceso empieza con el restore de un full backup.
Este comando le permite realizar los siguientes escenarios de restauracin: Restaurar una base de datos completa a partir de una copia de seguridad completa de la base de datos (restauracin completa). Restaurar parte de una base de datos (restauracin parcial). Restaurar archivos o grupos de archivos en una base de datos. Restaurar pginas especficas en una base de datos (restauracin de pginas). Restaurar un registro de transacciones en una base de datos (restauracin del registro de transacciones). Revertir una base de datos al punto temporal capturado por una instantnea de la base de datos.
La sintaxis para restaurar una base de datos desde una copia de seguridad completa
RESTORE DATABASE { nombre_base_datos | @var_nombre_base_datos } [ FROM <backup_device> [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] La sintaxis para restaurar archivos especficos o Filegroups de la base de datos
RESTORE DATABASE { nombre_base_datos | @var_nombre_base_datos } <file_or_filegroup> [ ,...n ] [ FROM < dispositivo_backup > [ ,...n ] ] WITH { [ RECOVERY | NORECOVERY ] [ , <general_WITH_options> [ ,...n ] ] } [ ,...n ] [;]
El siguiente ejemplo se restaura una copia de seguridad completa de la base de datos desde un dispositivo lgico de copia de seguridad de la base de dato
Cmo mover bases de datos entre equipos que estn ejecutando SQL Server
Es bastante comn tener que mover bases de datos entre servidores ya sea por traspasos de entornos de desarrollo a produccin o por tener informacin para detectar errores en las aplicaciones, hacer pruebas de carga etc. Para realizar el movimiento entre servidores pueden seguirse varias alternativas, intentaremos desarrollar algunas y exponer cuales son los mecanismos. Incluiremos tambin parte de un artculo que ya est publicado en portalsql.com sobre los logins ya que son uno de los temas que suelen dar problemillas al migrar las bases de datos.
DTS. Data Transformation Services. Los DTS y el asistente que proporciona SQL-SERVER son una estupenda herramienta para mover datos entre servidores, son adecuados cuando los servidores tienen una conexin fsica entre ellos y por tanto pueden verse. En principio puede migrarse con este mecanismo cualquier base de datos que tenga un controlador ODBC a nuestro SQL, aunque como todo siempre hay alguna pequea particularidad que hay que tener en cuenta.
Veamos como se usan. En el men del directorio de SQLServer, aparece una aplicacin que se llama Asistente para importacin y exportacin de base de datos que se basa en DTS y que con un sencillo asistente basado en pasos, permite configurar esta informacin.
Backup / Restore.
Otro mecanismo interesante para mover los datos es utilizar backup-restore, es decir, crear una copia de seguridad y restaurar esa copia en el servidor de destino. Esta opcin es bastante til cuando no se pueden conectar los servidores de origen y destino. Bsicamente con las instrucciones siguientes sera suficiente.
Servidores vinculados.
Los linked servers, son una opcin Tambin si se est fsicamente conectados, adems hay que tener en cuenta los permisos necesarios para que un servidor acceda al otro y configurar todas estas opciones. No comentamos ms acerca de esta opcin, porque sale un poco del objeto del presente documento, pero es una opcin que entendemos que puede resultar interesante en ciertos casos y que aunque solamente sea a modo de mencin debe figurar.
Vinculacin / Desvinculacin.
El mecanismo para usar este procedimiento es parecido al de Backup/restore. Sin embargo este mtodo obliga a que no haya ningn usuario conectado a la base de datos de origen en el momento de ejecutarlo. Por otra parte, Tambin es el mecanismo ms peligroso de movimiento ya que de alguna manera se desvincular la base de datos del servidor y por tanto, es un proceso que permite que un error suponga incluso perder los datos.
Resumen
El propsito de crear copias de seguridad de SQL Server es para que usted pueda recuperar una base de datos daada. Sin embargo, copias de seguridad y restauracin de los datos deben ser personalizados para un ambiente particular y debe trabajar con los recursos disponibles. Por lo tanto, un uso fiable de copia de seguridad y restauracin para la recuperacin exige una copia de seguridad y restauracin de la estrategia. La mejor opcin de modelo de recuperacin de la base de datos depende de los requerimientos de su negocio. Para evitar la gestin del registro de transacciones y simplificar el BACKUP y restauracin, utilice el modelo de recuperacin simple. Para minimizar la prdida de trabajo, a costa de los gastos generales de administracin, utilice el modelo de recuperacin completa. El alcance de una copia de seguridad de los datos puede ser una base de datos completa, una base de datos parciales, o un conjunto de archivos o grupos de archivos. Para cada uno de estos, SQL Server admite copias de seguridad completas y diferenciales
Bajo el modelo de recuperacin optimizado para cargas masivas de registros de modelo de recuperacin, copias de seguridad del registro de transacciones (o copias de seguridad de registro) son obligatorias. Cada copia de seguridad de registro cubre la parte del registro de transacciones que estaba activa cuando la copia de seguridad fue creada, e incluye todos los registros que no fueron respaldados en una copia de seguridad de registros anterior. BACK UP TRANSACT-SQL realiza copias de seguridad de una base de datos completa, o uno o ms archivos o grupos de archivos (BASE DE DATOS DE SEGURIDAD). Adems, bajo el modelo de recuperacin optimizado para cargas masivas de registros de modelo de recuperacin, copias de seguridad del registro de transacciones (BACKUP LOG). Un escenario de restauracin es un proceso que restaura los datos de una o ms copias de seguridad y se recupera la base de datos cuando la ltima copia de seguridad se restaura