COPIAS DE SEGURIDAD SQL Server 2008 MSc. Alexis Cabrera Mondeja 1.

Slides:



Advertisements
Presentaciones similares
Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Advertisements

Support.ebsco.com Como crear una Colección Local Tutorial.
integridad referencial
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
SQL Server 2008 Rocío Contreras Águila Primer Semestre 2010.
Procedimientos de Almacenado
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
Administración de transacciones y bloqueos
Administración de archivos de bases de datos
Copia de seguridad de bases de datos
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Aprendizaje de Microsoft® Access® 2010
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
SQL Server Integration Services SSIS
RESPALDO.
Modelo de procesos de dos estados
SQL Server Comunidad TechNet Regístrate en:
• SQL Server Integration Services SSIS
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
NOELIA OJEDA ROMERO NATHALIE VELEZ MACIAS TEMA: REGLAS Y ALERTAS
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Administración de Archivos
Subconsultas Avanzadas
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Respaldando la información
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Félix Tovar C.I: Daniel Hernández C.I:
Creación de un dominio Windows  Descripción general Introducción a la creación de un dominio de Windows 2000 Instalación de Active Directory Proceso.
Administrador de procesos
 Un servidor basado en un procesador Intel que ejecute Windows Server 2003 debe tener al menos 128 MB de RAM. Microsoft recomienda también que haya.
Cuentas de usuarios y grupos en windows 2008 server
O3 Report. 2 El O3 Report  El O3 Report es una herramienta que permite crear informes que incluyen una o más vistas del mismo cubo, con la posibilidad.
Como instalar Windows Server Amayraní Amaro Pérez. Informática. 6° “H” Amayraní Amaro Pérez. Informática. 6° “H”
Supongamos que un usuario desea escribir un informe e imprimirlo en una impresora conectada. Para realizar esta tarea, se precisa una aplicación de procesamiento.
Trabajo realizado por: Rosa Fernández Extremera Virginia Sánchez López.
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 4) Microsoft SQL Server 2008 R2.
Estructura de los Sistemas Operativos
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 3) Microsoft SQL Server 2008 R2 Suscribase a
UNIVERSIDAD LATINA BASES DE DATOS ADMINISTRACIÓN.
HERRAMIENTAS DEL SISTEMA SERGIO ANDRES YEPES CONDE HIPI 2 - HTML 2013.
Sebastian Madrid Perez
C OLEGIO DE B ACHILLERES N O.13 X OCHIMILCO, T EPEPAN C ARRASCO G ARCÍA L ORENA T ORRES H EREDIA C ARLA P ALMIRA G RUPO : 308 M ATUTINO E QUIPO : 12.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
¿QUE SON LAS ACTUALIZACIONES?  Las actualizaciones son adiciones al software que pueden evitar problemas o corregirlos, mejorar el funcionamiento del.
Tema 6 – Servicio de Correo Electrónico
Instituto Tecnológico de las Américas (ITLA)
File Transfer Protocol.
Sustentante: Francis Ariel Jiménez Zapata Matricula: Grupo: 2 Profesora: Jose Doñe Asignatura: Sistema Operativo 2.
Cuentas de usuarios y grupos en windows 2008 server
 COMPLETO (FULL).  INCREMENTAL.  DIFERENCIAL (DIFFERENTIAL).
Restauración de bases de datos
Unidad 2: Tareas básicas de InfoPath 2010
MSc. Alexis Cabrera Mondeja
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
PRÁCTICA TRADOS Gestión de Proyectos. Objetivo Esta práctica tiene como objetivo: – Crear un proyecto. – Aprender a gestionar un paquete de proyecto.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Módulo 7: Resolución de nombres NetBIOS mediante el Servicio de nombres Internet de Windows (WINS)
Módulo 4: Administrar el acceso a recursos
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
TEMA 6 Copias de seguridad y Restauración Msc. Rina Arauz.
Transcripción de la presentación:

COPIAS DE SEGURIDAD SQL Server 2008 MSc. Alexis Cabrera Mondeja 1

Copia de seguridad y restauración Protección esencial para los datos críticos almacenados en las bases de datos. Dos formas: ◦ 1) Transact-SQL: comandos sql ◦ 2) Modo gráfico: SQL Server Management Studio 2

Copia de Seguridad: Transact-SQL I Copia de BD completa: BACKUP DATABASE database TO backup_device [ ,...n ] [ WITH with_options [ ,...o ] ] ; database : Es la base de datos cuya copia de seguridad se desea hacer. backup_device [ ,...n ]: Especifica una lista de 1 a 64 dispositivos de copia de seguridad que se pueden utilizar en la operación de copia de seguridad. Puede especificar un dispositivo físico de copia de seguridad o puede especificar un dispositivo de copia de seguridad lógico correspondiente, si ya se definió. Para especificar un dispositivo de copia de seguridad físico, utilice las opciones DISK o TAPE. 3

Copia de Seguridad: Transact-SQL II Opciones de WITH básicas del conjunto de copia de seguridad: { COMPRESSION | NO_COMPRESSION } : si los datos se almacenan comprimidos o no. DESCRIPTION = { 'text' | @text_variable }: texto sin formato que describe el conjunto de copia de seguridad. NAME = { backup_set_name | @backup_set_name_var }: nombre del conjunto de copia de seguridad. Si no se especifica NAME, está en blanco. FORMAT: para dar formato a los medios de copia de seguridad. ◦ FORMAT [ , MEDIANAME= { media_name | @media_name_variable } ] [ , MEDIADESCRIPTION = { text | @text_variable } ] Cuando se emplea el medio por primera vez o cuando se desea sobrescribir todos los datos existentes. De manera opcional, puede asignar a los nuevos medios un nombre y una descripción. Importante: Mucho cuidado cuando se utiliza la cláusula FORMAT de la instrucción BACKUP, ya que destruye cualquier copia de seguridad existente en el medio de copia de seguridad. 4

Modelo o Escenario de Recuperación Configuración de la BD para el control de las transacciones que el admón. de la BD quiere realizar. 3 modelos de recuperación en SQL Server 2008 ◦ Modelo Completo (Full) ◦ Modelo Simple (Simple) ◦ Modelo de Registro Masivo (Bulk-logged) 5

Modelo de Recuperación Completo (Full) Registra todas las operaciones del registro de transacciones de la base de datos. Permite todas las opciones de recuperación. Protección más alta, pero también más ocupación del fichero de log. Recuperación a un momento dado, y recuperación de cola de backup. 6

Modelo de Recuperación Simple Similar al modelo completo ya que también registra las transacciones, pero se diferencia en que no registra todas las operaciones de transacciones, sólo lo hace de manera mínima y las elimina una vez comprobadas. Este modelo no permite recuperar los registros de transacciones que ya hayan sido truncados. No permite backup de log No recuperación a un determinado punto, sólo al último (puede haber pérdida de datos). 7

Modelo de Recuperación de Registro Masivo (Bulk_Logged) Este modelo registra de manera mínima las operaciones de registro. No apunta todas las operaciones realizadas en la BD sino que anota las páginas modificadas. Permite restaurar la base de datos hasta el punto final en que ocurrió el fallo. Utilizado en entornos con bajo nivel de actualizaciones. 8

Modelo de Recuperación: Configuración El modelo de recuperación es una propiedad de la Base de Datos: ◦ Alter DataBase [NombredeBasedeDatos] Set Recovery Full | Simple| Bulk_Logged Para comprobar el modelo de recuperación de las bases de datos del sistema: ◦ Select Name as [Base de Datos], Recovery_Model_Desc As [Modelos de Recuperación ] From Sys.DataBases 9

Ejemplos: Copia de seguridad en un disco USE negocios2012; GO BACKUP DATABASE negocios2012 TO DISK = ‘e:\SQLServerBackups\negocios2012.Bak' ---WITH FORMAT, MEDIANAME = 'Z_SQLServerBackups', DESCRIPTION = ' Backup completo de negocios2012 '; GO 10

Copia de base de datos Diferencial I Sólo se realiza una copia de seguridad de las partes de la base de datos que han cambiado desde la última copia de seguridad de base de datos completa. BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL Opciones: ◦ INIT para sobrescribir el medio de copia de seguridad y escribir la copia de seguridad como el primer archivo del medio de copia de seguridad. Si no existe ningún encabezado de medio, se escribe uno automáticamente. ◦ SKIP e INIT para sobrescribir el medio de copia de seguridad, incluso si hay alguna copia de seguridad que aún no haya caducado en el medio de copia de seguridad o si el nombre del medio no coincide con el nombre del medio de copia de seguridad. ◦ La cláusula FORMAT cuando se utiliza el medio por primera vez para inicializar el medio de copia de seguridad y sobrescribir cualquier encabezado de medio existente. La cláusula INIT no es necesaria si se especifica la cláusula FORMAT. 11

Copia de base de datos Diferencial II Importante: ◦ No se puede crear una copia de seguridad de base de datos diferencial a menos que se haya creado antes una copia de seguridad de la base de datos. ◦ FORMAT o INIT destruyen cualquier copia de seguridad almacenada previamente en el medio de copia de seguridad Ejemplo: BACKUP DATABASE MyAdvWorks TO MyAdvWorks_1 WITH DIFFERENTIAL GO 12

Copia de seguridad del registro de transacciones I BACKUP LOG Opciones: { NORECOVERY | STANDBY = undo_file_name } NORECOVERY: Realiza una copia de seguridad del final del registro y deja la base de datos en el estado RESTORING. STANDBY = standby_file_name: Realiza una copia de seguridad del final del registro y deja la base de datos en modo de sólo lectura y en el estado STANDBY. La cláusula STANDBY escribe datos en espera (realiza la reversión, pero con la posibilidad de recuperaciones posteriores). ◦ El uso del modo de espera requiere un archivo en espera especificado mediante standby_file_name, cuya ubicación se almacena en el registro de la base de datos. Si el archivo especificado ya existe, Database Engine (Motor de base de datos) lo sobrescribe; si no existe, Database Engine (Motor de base de datos) lo crea. El archivo en espera pasa a formar parte de la base de datos. ◦ Este archivo contiene los cambios revertidos, que se deben invertir si las operaciones RESTORE LOG se van a aplicar posteriormente. Debe haber suficiente espacio en disco para permitir el crecimiento del archivo en espera de manera que pueda contener todas las páginas distintas de la base de datos que se modificaron al revertir las transacciones sin confirmar. 13

Copia de seguridad del registro de transacciones II NO_TRUNCATE: Especifica que el registro no se va a truncar y hace que Database Engine (Motor de base de datos) intente hacer la copia de seguridad con independencia del estado de la base de datos. Por consiguiente, una copia de seguridad realizada con NO_TRUNCATE puede tener metadatos incompletos. Esta opción permite realizar copias de seguridad del registro cuando la base de datos está dañada. La opción NO_TRUNCATE de BACKUP LOG es equivalente a la especificación de COPY_ONLY y CONTINUE_AFTER_ERROR. Sin la opción NO_TRUNCATE, la base de datos debe estar en el estado ONLINE. Si la base de datos está en el estado SUSPENDED, podría crear una copia de seguridad especificando NO_TRUNCATE. Pero si la base de datos se encuentra en el estado OFFLINE o EMERGENCY, no se admite BACKUP, ni siquiera con NO_TRUNCATE. Ejemplo: BACKUP LOG negocios2012_FullRM TO negocios2012_FullRM_log1 GO 14

Copia de seguridad de archivos y grupos de archivos I Cuando el tamaño y los requisitos de rendimiento de la base de datos hagan que no sea práctico realizar una copia de seguridad completa de la base de datos, se puede crear una copia de seguridad de archivo en su lugar. Una copia de seguridad de archivo contiene todos los datos de uno o varios archivos (o grupos de archivos). 15

Copia de seguridad de archivos y grupos de archivos II BACKUP DATABASE database { FILE = logical_file_name | FILEGROUP = logical_filegroup_name } [ ,...f ] TO backup_device [ ,...n ] [ WITH with_options [ ,...o ] ] ; Ejemplos: ◦ Crear una copia de seguridad de archivos de dos archivos: BACKUP DATABASE Sales FILE = 'SGrp1Fi2', FILE = 'SGrp2Fi2' TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck‘ GO 16

Copia de seguridad de archivos y grupos de archivos III Ejemplo: Copia de seguridad completa de archivos de los grupos de archivos secundarios BACKUP DATABASE Sales FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2' TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck‘ GO 17

Copia de seguridad parcial I Una copia de seguridad parcial incluye todos los archivos de lectura/escritura de una base de datos: el grupo de archivos principal y los grupos de archivos secundarios de lectura/escritura, así como los grupos de archivos o archivos de sólo lectura especificados. READ_WRITE_FILEGROUPS: Especifica que en la copia de seguridad parcial se copiarán todos los grupos de archivos de lectura/escritura. Si la base de datos es de sólo lectura, READ_WRITE_FILEGROUPS incluye tan sólo el grupo de archivos principal. BACKUP DATABASE { database_name | @database_name_var } READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ] TO <backup_device> [ ,...n ] [ <MIRROR TO clause> ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ] [;] 18

Copia de seguridad en más de un dispositivo I MIRROR TO <backup_device> [ ,...n ] Especifica un conjunto de hasta tres dispositivos de copia de seguridad, cada uno de los cuales reflejará los dispositivos de copia de seguridad especificados en la cláusula TO. La cláusula MIRROR TO debe incluir el mismo número y tipo de dispositivos de copia de seguridad que la cláusula TO. El número máximo de cláusulas MIRROR TO es tres. 19

Copia de seguridad en más de un dispositivo II BACKUP DATABASE AdventureWorksTO DISK='X:\SQLServerBackups\AdventureWorks1a.bak', DISK='Y:\SQLServerBackups\AdventureWorks2a.bak', DISK='Z:\SQLServerBackups\AdventureWorks3a.bak‘ MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak', DISK='Y:\SQLServerBackups\AdventureWorks2b.bak', DISK='Z:\SQLServerBackups\AdventureWorks3b.bak'; GO 20

Opciones de copia de seguridad Opciones de conjunto de copia de seguridad: ◦ COPY_ONLY: Especifica que la copia de seguridad es una copia de seguridad de sólo copia, que no afecta a la secuencia normal de copias de seguridad. Se crea una copia de seguridad de sólo copia independientemente de las copias de seguridad convencionales programadas regularmente. ◦ { EXPIREDATE = 'date' | RETAINDAYS = días } EXPIREDATE = { 'date' | @date_var }: Especifica cuándo expira el conjunto de copia de seguridad y se puede sobrescribir. RETAINDAYS = { days | @days_var }: Especifica el número de días que deben transcurrir antes de que se pueda sobrescribir este conjunto de medios de copia de seguridad. 21

Realizar una copia de seguridad de la base de datos y el registro En el ejemplo siguiente se realiza la copia de seguridad de la base de datos de ejemplo negocios2012 , que usa de forma predeterminada un modelo de recuperación simple. Para admitir las copias de seguridad del registro, la base de datos negocios2012 se ha modificado para usar el modelo de recuperación completa. A continuación, en el ejemplo se usa sp_addumpdevice para crear un dispositivo de copia de seguridad lógico para realizar la copia de seguridad de datos,AdvWorksData, y se crea un dispositivo de copia de seguridad lógico para copiar el registro, AdvWorksLog. A continuación, en el ejemplo se crea una copia de seguridad de base de datos completa en negociosData y, tras un periodo de actividad de actualización, se copia el registro en negociosLog.

Crear una copia de seguridad de archivos completa de los grupos de archivos secundarios En el ejemplo siguiente se crea una copia de seguridad de archivos completa de cada archivo en los dos grupos de archivos secundarios. --Back up archivos de SalesGroup1: BACKUP DATABASE Sales FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2' TO DISK = ‘E:\SalesFiles.bck'; GO

Crear una copia de seguridad de archivos diferencial de los grupos de archivos secundarios En el ejemplo siguiente se crea una copia de seguridad de archivos diferencial de la base de datos negocios2012. --Back up the files in SalesGroup1: BACKUP DATABASE negocios2012 TO DISK= 'E:\negociosData.bak' WITH DIFFERENTIAL; GO

Crear una copia de seguridad comprimida en un nuevo conjunto de medios En el ejemplo siguiente se realiza una copia de seguridad completa comprimida de la base de datos negocios2012 . BACKUP DATABASE negocios2012 TO DISK= 'E:\negociosData.bak' WITH  COMPRESSION;

sp_addumpdevice Agrega un dispositivo de copia de seguridad a una instancia del SQL Server 2005 Database sp_addumpdevice [ @devtype = ] 'device_type‘, [ @logicalname = ] 'logical_name‘, [ @physicalname = ] 'physical_name‘  [ , { [ @cntrltype = ] controller_type | [ @devstatus = ] 'device_status' }  ] sp_addumpdevice agrega un dispositivo de copia de seguridad a la vista de catálogo sys.backup_devices. Después, se puede hacer referencia al dispositivo de forma lógica en las instrucciones BACKUP y RESTORE. sp_addumpdevice no lleva a cabo el acceso al dispositivo físico. El acceso al dispositivo especificado sólo se produce cuando se ejecuta una instrucción BACKUP o RESTORE. La creación de un dispositivo lógico de copia de seguridad puede simplificar las instrucciones BACKUP y RESTORE, en las que se puede especificar el nombre del dispositivo como alternativa mediante una cláusula "TAPE =" o "DISK =" para indicar la ruta de acceso del dispositivo. Los problemas de propiedad y permisos pueden interferir en el uso de los dispositivos de copia de seguridad de disco o de archivo. Asegúrese de que la cuenta de Windows con la que se inicia el Database Engine (Motor de base de datos) disponga de los permisos de archivo apropiados.

Agregar un dispositivo de copia de seguridad de disco de red En el ejemplo siguiente se muestra cómo agregar un dispositivo de copia de seguridad de disco remoto llamado networkdevice. El nombre con el que el Database Engine (Motor de base de datos) se ha iniciado debe tener permisos de acceso al archivo remoto (\\<servername>\<sharename>\<path>\<filename>.bak). USE master; GO EXEC sp_addumpdevice 'disk', 'networkdevice',     '\\<servername>\<sharename>\<path>\<filename>.bak';

Agregar un dispositivo de volcado en disco En el ejemplo siguiente se muestra cómo agregar un dispositivo de copia de seguridad de disco llamado mydiskdump, con el nombre físico c:\dump\dump1.bak. USE master; GO EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak';

Realizar una copia de seguridad en un dispositivo de copia de seguridad lógico En el siguiente ejemplo se crea un dispositivo de copia de seguridad lógico, AdvWorksData, para un archivo de copia de seguridad en disco. A continuación, se realiza una copia de seguridad de la base de datos AdventureWorks en este dispositivo de copia de seguridad lógico. USE master GO EXEC sp_addumpdevice 'disk', ‘negociosData', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\negociosData.bak'; BACKUP DATABASE negociosWorks TO negociosData;

-- Permitir backups de logs, antes del backup de la base, modificar la ---base de datos -- para usar el modo full backup. USE master; GO ALTER DATABASE AdventureWorksnegocios2012 SET RECOVERY FULL; -- Crear negociosData y negociosLog como dispositivos logicas de backup. USE master EXEC sp_addumpdevice 'disk', 'negociosData', ‘E:\negociosData.bak'; EXEC sp_addumpdevice 'disk', 'negociosLog', ‘C:\negociosLog.bak'; -- Back up la base completa negocios2012. BACKUP DATABASE negocioss2012 TO negociosData; -- Back up negocios2012 log. BACKUP LOG negocios2012 TO AdvWorksLog;

Notas sp_dropdevice Quita un dispositivo de base de datos o de copia de seguridad de una instancia del SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005), lo que elimina la entrada de master.dbo.sysdevices. sp_dropdevice [ @logicalname = ] 'device'     [ , [ @delfile = ] 'delfile' ] sp_dropdevice no puede utilizarse dentro de una transacción. Debe pertenecer a la función fija de servidor diskadmin. En el ejemplo siguiente se muestra cómo quitar el dispositivo de volcado de cinta tapedump1 del Database Engine (Motor de base de datos). EXEC sp_dropdevice 'tapedump1';

Restauración y recuperación de bases de datos SQL Server Restauración: proceso de copiar datos desde una copia de seguridad y aplicar transacciones registradas a los datos para ponerlos al día hasta el punto de recuperación de destino. Cada copia de seguridad contiene suficientes registros para revertir las transacciones no confirmadas y llevar la base de datos a un estado coherente con la transacción y utilizable. El proceso de poner al día las transacciones no confirmadas, si las hay, y poner la base de datos en línea se conoce como recuperación. 22

Secuencias de restauración Cada escenario de restauración se implementa mediante uno o varios pasos de restauración (operaciones), lo que se denomina secuencia de restauración. Cada operación corresponde a una instrucción RESTORE de Transact-SQL independiente. Una secuencia de restauración mueve los datos afectados a través de una o varias fases de la restauración. 23

Fases de restauración Una restauración es un proceso de varias fases. Las fases posibles de una restauración incluyen las fases de copia de datos, rehacer (puesta al día) y deshacer (revertir): 1.- Copia de datos: implica copiar todos los datos, el registro y las páginas de índice desde el medio de copia de seguridad de una base de datos a los archivos de la base de datos. 2.- Rehacer: aplica las transacciones registradas a los datos copiados desde la copia de seguridad para poner al día esos datos hasta el punto de recuperación. Normalmente, en este punto una base de datos tiene transacciones no confirmadas y se encuentra en un estado inutilizable. En ese caso, se requiere una fase de deshacer como parte de la recuperación de la base de datos. 3.- Deshacer: es la primera parte de la recuperación, revierte cualquier transacción no confirmada y hace que la base de datos esté disponible para los usuarios. Después de la fase de reversión, no se pueden restaurar las copias de seguridad subsiguientes. 24

NORECOVERY con las fases de restauración Relación de RECOVERY y NORECOVERY con las fases de restauración WITH RECOVERY recupera la base de datos e incluye las fases de rehacer y deshacer; no se pueden restaurar otras copias de seguridad. Es el valor predeterminado. Si el conjunto de puestas al día no se ha puesto al día lo suficiente para ser coherente con la base de datos, la fase de deshacer no se podrá producir. Database Engine (Motor de base de datos) emitirá un error y la recuperación se detendrá. Si todo el conjunto de puestas al día es coherente con la base de datos, se realizará la recuperación y se podrá conectar la base de datos. WITH NORECOVERY omite la fase de deshacer para preservar las transacciones no confirmadas. Al omitir la fase de deshacer, se pueden restaurar otras copias de seguridad para poner al día la base de datos a un momento posterior. A veces, RESTORE WITH NORECOVERY pone al día los datos hasta donde son coherentes con la base de datos. En estos casos, Database Engine (Motor de base de datos) emite un mensaje informativo indicando que el conjunto de puestas al día se puede recuperar mediante la opción RECOVERY. 25

REPLACE Especifica que SQL Server debe crear la base de datos especificada y sus archivos relacionados aunque ya exista otra base de datos con el mismo nombre. En ese caso, se elimina la base de datos existente. Si no se especifica la opción REPLACE, se realiza una comprobación de seguridad. Así se evita sobrescribir por accidente una base de datos distinta. La comprobación de seguridad garantiza que la instrucción RESTORE DATABASE no restaurará la base de datos en el servidor actual si se dan las dos condiciones siguientes: La base de datos nombrada en la instrucción RESTORE ya existe en el servidor actual. El nombre de la base de datos es diferente del nombre de la base de datos registrado en el conjunto de copia de seguridad. REPLACE también permite que RESTORE sobrescriba un archivo existente cuando no se puede comprobar si pertenece a la base de datos que se está restaurando. Normalmente, RESTORE no sobrescribe los archivos existentes. WITH REPLACE también se puede utilizar de la misma forma para la opción RESTORE LOG. REPLACE elimina el requisito de que se realice una copia del final del registro antes de restaurar la base de datos.

Recuperación de una BD completa RESTORE DATABASE { database_name | @database_name_var } [ FROM <backup_device> [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] | , <general_WITH_options> [ ,...n ] | , <replication_WITH_option> | , <change_data_capture_WITH_option> | , <service_broker_WITH options> | , <point_in_time_WITH_options—RESTORE_DATABASE> } [ ,...n ] ] [;] 28

No se puede restaurar la copia de seguridad de una base de datos comprimida en una base de datos sin comprimir. Durante una restauración sin conexión, si la base de datos especificada se está usando, RESTORE obliga a los usuarios a desconectarse tras un breve retraso. En el caso de una restauración en línea de un grupo de archivos no principal, la base de datos puede seguir usándose excepto si el grupo de archivos que se está restaurando se ha puesto fuera de conexión. Los datos de la base de datos especificada se reemplazan por los datos restaurados.

Restaurar una base de datos completa En el siguiente ejemplo se restaura una copia de seguridad completa de la base de datos desde un dispositivo lógico de copia de seguridad de negociosBackups. RESTORE DATABASE negocios2012 FROM negocios2012Backups

Restaurar copias de seguridad de bases de datos completas y diferenciales En el siguiente ejemplo se restaura una copia de seguridad completa después de una copia de seguridad diferencial del dispositivo de copia de seguridad E:\negocios2012.bak, que contiene las dos copias de seguridad. La copia de seguridad de bases de datos completa que se va a restaurar es el sexto conjunto de copias de seguridad del dispositivo (FILE = 6), y la copia de seguridad de base de datos diferencial es el noveno conjunto del dispositivo (FILE = 9). En cuanto se recupere la copia de seguridad diferencial, se recuperará la base de datos. RESTORE DATABASE negocios2012 FROM DISK = ‘E:\negocios2012.bak' WITH FILE = 1 NORECOVERY; RESTORE DATABASE negocios2012 FROM DISK = ‘E:\negocios2012.bak' WITH FILE = 2 RECOVERY;

Restaurar una base de datos con la sintaxis de RESTART En el ejemplo siguiente se usa la opción RESTART para reiniciar una operación RESTORE interrumpida por un error de alimentación del servidor. -- Se interrumpió el RESTORE debido a fallo en la electricidad. RESTORE DATABASE negocios2012 FROM negocios2012Backups -- Aqui se restaura con opción RESTART. RESTORE DATABASE negocios2012 FROM negocios2012Backups WITH RESTART

Restaurar una base de datos y mover archivos En el ejemplo siguiente se restaura una base de datos completa y el registro de transacciones, y se mueve la base de datos restaurada al directorio C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data. RESTORE DATABASE negocios2012 FROM negocios2012Backups WITH NORECOVERY, MOVE 'negocios2012_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\Newnegocios2012.mdf', MOVE 'negocios2012_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\Newnegocios2012.ldf‘ RESTORE LOG negocios2012 FROM negocios2012 Backups WITH RECOVERY

Copiar una base de datos con BACKUP y RESTORE En el ejemplo siguiente se usan las instrucciones BACKUP y RESTORE para realizar una copia de la base de datos negocios2012. La instrucción MOVE hace que se restauren los datos y el archivo de registro en las ubicaciones especificadas. La instrucción RESTORE FILELISTONLY se usa para determinar el número y los nombres de los archivos de la base de datos que se están restaurando. La nueva copia de la base de datos se denomina TestDB.  BACKUP DATABASE negocios2012 TO negocios2012Backups ; RESTORE FILELISTONLY FROM negocios2012Backups ; RESTORE DATABASE TestDB FROM negocios2012Backups WITH MOVE 'negocios2012_Data' TO 'C:\MySQLServer\testdb.mdf', MOVE 'negocios2012_Log' TO 'C:\MySQLServer\testdb.ldf'; GO