La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

○ Objetivos ○ En este módulo veremos ○ Mecanismos de Respaldos ○ Políticas de Respaldos ○ Tipos de Respaldos ○ Backup/Restore ○ Respaldo del Log ○ Mover.

Presentaciones similares


Presentación del tema: "○ Objetivos ○ En este módulo veremos ○ Mecanismos de Respaldos ○ Políticas de Respaldos ○ Tipos de Respaldos ○ Backup/Restore ○ Respaldo del Log ○ Mover."— Transcripción de la presentación:

1 ○ Objetivos ○ En este módulo veremos ○ Mecanismos de Respaldos ○ Políticas de Respaldos ○ Tipos de Respaldos ○ Backup/Restore ○ Respaldo del Log ○ Mover Bases de Datos 1 Mecanismos de respaldo y recuperación OBJETIVOS

2 SQL Server, cada base de datos contiene al menos, un archivo de datos y un archivo de registro de transacciones. SQL Server almacena los datos físicamente en Archivo de datos (.mdf y.ndf). Archivo de transacciones, log (.ldf) almacena los detalles de todas las modificaciones que se realizan sobre la base de datos de SQL Server.todas 2 Mecanismos de respaldo y recuperación INTRODUCCIÓN

3 Como mecanismos de seguridad, se recomienda que los dispositivos de datos (mdf y ndf) se almacenen en discos físicos distintos que los discos de los dispositivos de log (.ldf).- Adicionalmente se pueden realizar respaldos:  A nivel de carpetas  A nivel del SGBD (recomendado) En SQL Server, existen distintas formas de realizar los respaldos, respaldos orientados a los datos y a las modificaciones que se realizan sobre los datos en las bases de datos (Log).- Respaldos full o completos, diferenciales o transaccionales(log).- 3 Mecanismos de respaldo y recuperación INTRODUCCIÓN

4 Mecanismos de respaldo y recuperación Como hemos dicho las bases de datos  DATOS  LOG Cuándo se realiza un respaldo, se saca una copia de seguridad de todos los datos que están confirmados en la base de datos.- Ahora que pasa con los datos en el log y que pudieran ser importante en la recuperación después de una caída del servidor, ya sea por una falla en el servidor, en los discos, falla eléctrica, etc.- 4

5 Qué es el LOG de la base de datos/Qué guarda?  En el Log se guardan los movimientos que se realizan en la base de datos (insert,delete,update).-  La escritura en el Log de transacciones es secuencial, y esta optimizado para ello.  En general se maneja sólo un archivo de log de transacciones.  Es altamente aconsejable, ubicar el archivo del log de transacciones, en un disco diferente del disco donde se encuentren los archivos de datos. 5 Mecanismos de respaldo y recuperación LOG de Transacciones

6 Qué pasa cuándo el Log se llena?  Liberar espacio en disco para que el registro pueda crecer automáticamente.  Realizar copias de seguridad del registro.  Revisar las transacciones activas  Una causa probable de que el registro esté lleno es que se haya realizado una transacción de ejecución prolongada. Una transacción de ejecución prolongada se mantiene activa en el log de transacciones e impide el truncamiento del archivo.  Una transacción de ejecución muy prolongada hará que el registro de transacciones se llene. Para buscar las transacciones de ejecución prolongada, use la vista:sys.dm_tran_database_transactions 6 Mecanismos de respaldo y recuperación LOG de Transacciones

7 Qué pasa cuándo el Log se llena?  Select * from sys.dm_tran_database_transactions  Esta vista de administración dinámica devuelve información sobre las transacciones en la base de datos.  En una transacción de ejecución prolongada, las columnas de especial interés incluyen la hora de la primera entrada del registro (database_transaction_begin_time), el estado actual de la transacción (database_transaction_state) y el número de secuencia (LSN) del registro inicial del log de transacciones (database_transaction_begin_lsn). 7 Mecanismos de respaldo y recuperación LOG de Transacciones

8 8 Cuando el log se llena, se debe ejecutar el comando backup log y con eso se limpia el device de Log Ejemplo,  alter database Db_Prueba set recovery full  backup log Db_Prueba to disk = ‘c:\respaldo\log.dmp’  alter database Db_Prueba set recovery simple Achicar un device  dbcc shrinkfile(archivolog,1) Mecanismos de respaldo y recuperación LOG de Transacciones

9 9 A continuación se muestra un simplificado ciclo que se da en una base de datos.  Creación de la base de datos  Operaciones DDL  creación de objetos  Operaciones DML  inserciones, actualizaciones,eliminaciones Mostraremos la importancia del monitoreo de los devices de Log y Data de cada base de datos, y en especial que pasa cuando se llena el log de una BD Mecanismos de respaldo y recuperación LOG de Transacciones

10 10 Mecanismos de respaldo y recuperación LOG de Transacciones

11 11 Insertamos muchos datos en la tabla T1 de la base de datos Db_Prueba, hasta provocar el llenado del log de esta base de datos -- inserta un registro en la tabla T1  Insert T1 select 1,’hola’ -- repetir muchas veces el siguiente comando  Insert T1 select * from T1 2,4,8,16 Hasta???? Se repite muchas veces el insert hasta ….. Mecanismos de respaldo y recuperación LOG de Transacciones

12 12 ¿Qué hacemos en este caso? Cualquier transacción que se quiera realizar, es rechazada por el SGBD,  Insert T1 select 1,’chao’ Verifiquemos el espacio ocupado por el log Mecanismos de respaldo y recuperación LOG de Transacciones

13 13 Ejecutar el comando backup log para limpiar el log  Backup log Db_Prueba to disk = ‘c:\data\log.dmp’ Ahora revisemos si se limpio el log  dbcc sqlperg(logspace)  Se observa que el espacio usado en el log es de un 23,40% Mecanismos de respaldo y recuperación LOG de Transacciones

14 14 Finalmente, volvemos a insertar datos en la tabla T1, para validar que se pueden seguir realizando transacciones. Revisamos el espacio ocupado en el device de log, ahora subió a un 26,07% y a medida que se sigan insertando datos, seguirá subiendo la ocuapación del device de log. Mecanismos de respaldo y recuperación LOG de Transacciones

15 15 Es importante recordar, BD  Device(s) DATA y Device(s) LOG LOG lleno  NO se aceptan transacciones Solución, Agrandar LOG, Limpieza de LOG Base de Datos, Llena  NO se aceptan transacciones Solución, Agrandar Base de datos, borrar datos desde las tablas Mecanismos de respaldo y recuperación LOG de Transacciones

16 -- Aumentar el tamaño de un device, ejemplo log de transacciones. ALTER DATABASE database_name MODIFY FILE ( NAME = N' ', SIZE = 200KB ) Sp_helpdb Db_Nueva55 alter database Db_Nueva55 modify file (name = 'Db_Clases10', size=4000KB) alter database Db_Nueva55 modify file (name = 'Db_Clases10_Log', size=1000KB) 16 Mecanismos de respaldo y recuperación LOG de Transacciones

17 -- Agregamos un device LOG ALTER DATAASE Db_Nueva55 ADD LOG FILE (NAME = Db_Clases10_1_log, FILENAME = 'c:\venus\venus2\Db_Nueva10_1log.ldf',SIZE = 10MB,MAXSIZE =100MB,FILEGROWTH = 5MB) -- Agregamos 2 devices LOG ALTER DATABASE Db_Nueva55 ADD LOG FILE (NAME = Db_Clases10_2_log, FILENAME = 'c:\venus\venus2\Db_Nueva10_2log.ldf', SIZE = 10MB,MAXSIZE = 100MB,FILEGROWTH = 5MB), (NAME = Db_Clases10_3_log, FILENAME = 'c:\venus\venus2\Db_Nueva10_3log.ldf', SIZE = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) -- Agregamos 1 devices DATOS ALTER DATABASE Db_Nueva55 ADD FILE (NAME = Db_Clases10_2, FILENAME = 'c:\venus\venus2\Db_Nueva10_2.ndf', SIZE = 10MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) 17 Mecanismos de respaldo y recuperación LOG de Transacciones

18 Tipos Respaldos  Respaldos full  Es el respaldo de la base de datos completa. Si hay una falla se pierde toda la información desde el respaldo full hasta el minuto de la falla.-  Respaldos Diferenciales  Es un respaldo de todos los cambios realizados a partir del último respaldo full, este tipo de respaldo depende de un respaldo full. Si hay una falla, se pierde toda la información desde el último respaldo diferencial.-  Respaldos Transaccionales  Es un respaldo de todos los cambios realizados a partir del último respaldo transaccional o del último respaldo full (primer respaldo transaccional), este tipo de respaldo depende de un respaldo full y de todos los respaldos transaccionales posteriores al respaldo full. Si hay una falla se pierde la información desde el último respaldo transaccional.- 18 Mecanismos de respaldo y recuperación Tipos de Respaldos

19 Tipos Respaldos  Respaldos full La recuperación es más rápida sólo se necesita recuperar un respaldo.  Respaldos Diferenciales Se debe recuperar dos respaldos, el full más el diferencial más cercano a la falla.  Respaldos Transaccionales Se debe recuperar, el respaldo full más todos los respaldos transaccionales, hasta llegar al transaccional más cercano a la falla.- 19 Mecanismos de respaldo y recuperación Tipos de Respaldos

20 Políticas de Respaldos  Dependiendo la empresa, la base de datos, se definen diversas políticas de respaldos.-  Sólo Respaldo full Sólo 1 respaldo a las 01.00  Respaldo full + varios diferenciales en el día 1 respaldo full01.00 1 respaldo diferenciales cada una hora  Respaldo full + varios transaccionales en el día 1 respaldo full 01.00 1 respaldo transaccional cada 5 minutos 20 Mecanismos de respaldo y recuperación Políticas de Respaldos

21 Comandos para Realizar Respaldos Respaldos full  Backup database master to disk = ‘c;\respaldo\master.dmp’  Backup database db_Ventas to disk = ‘c:\respaldo\ventas.dmp’ Respaldos Diferenciales  backup database Db_Ventas to disk = ‘c:\respaldo\ventas.dif’’  with differential  backup database Db_Produccion to disk = ‘c:\respaldo\produccion.dif’’  with differential Respaldos Transaccionales  backup log Db_Ventas to disk = ‘c:\respaldo\ventas1.log’  backup log Db_Produccion to disk = ‘c:\respaldo\produccion1.log’ 21 Mecanismos de respaldo y recuperación Comando: Backup

22 Comandos para recuperar Respaldos  Recuperar respaldo full  restore database Db_Ventas from disk = 'c:\respaldos\ventas.dmp' with recovery  Restore database Db_Produccion from disk = 'c:\respaldos\produccion.dmp' with recovery  Recuperar respaldo full + diferenciales  Restore database Db_Ventas from disk = 'c:\respaldo\ventas.dmp' with norecovery  Restore database db_Ventas from disk = 'c:\respaldo\ventas01.dmp' with recovery  Respaldos respaldo full + transaccionales  Restore database Db_Ventas from disk = 'c:\respaldo\ventas.dmp' with norecovery  Restore log Db_Ventas from disk = 'c:\respaldo\logvta01.dmp' with recovery 22 Mecanismos de respaldo y recuperación Comando: Restore

23 Mecanismos de respaldo y recuperación Modelo de recuperación del log de transacciones en una Base de datos El modelo de recuperación de una base de datos Simple Full Bulk-Logged(cargas masivas) 23

24 Modelo de recuperación Simple: No hay necesidad de hacer copias de seguridad del log de transacciones, se reduce automáticamente el espacio de registro, manteniendo al mínimo el espacio del archivo según termina las transacciones.- De este modo no es necesario administrar el espacio del log de transacciones. Los cambios realizados después de la copia de seguridad más reciente no están protegidos. En caso de desastre, es necesario volver a realizar dichos cambios. Sólo se puede recuperar hasta el final de una copia de seguridad. 24 Mecanismos de respaldo y recuperación Modelo de Recuperación Simple

25 Modelo de recuperación Completa: Requiere copias de seguridad del log de transacciones. No se pierde trabajo si un archivo de datos se pierde o resulta dañado. Se puede recuperar hasta cualquier momento, por ejemplo, antes del error de aplicación o usuario. Si la base de datos resulta dañada, se deben repetir los cambios realizados desde la última copia de seguridad del log de transacciones. Se puede recuperar hasta una determinado momento, siempre que las copias de seguridad se hayan completado hasta ese momento. 25 Mecanismos de respaldo y recuperación Modelo de Recuperación Full

26 Modelo de recuperación bulk-logged: Requiere copias de seguridad del log de transacciones, para ir liberando espacio en el.ldf. Puede considerarse complemento del modelo de recuperación completa, pero no sustitutivo, ya que permite operaciones de copia masiva de alto rendimiento, (por ejemplo, operaciones realizadas con BCP.exe, Bulk Insert, etc…), reduciendo el uso del espacio de registro. Si la base de datos resulta dañada o se han realizado operaciones masivas desde la última copia de seguridad completa, se han de repetir los cambios desde esa última copia de seguridad. Se puede recuperar hasta el final de cualquier copia de seguridad completa. No admite recuperaciones a un momento dado. 26 Mecanismos de respaldo y recuperación Modelo de Recuperación Bulk-logged

27 El "set recovery…" es la opción que permite elegir el modelo de recuperación entre simple, bulk-logged y completo. Los tres permiten realizar recuperaciones (restore). Recuperación Completa ó Full  Solo el modelo de recuperación completo registra y mantiene en el log de transacciones todas las operaciones y debe incluir la realización de backups del log dentro de la política de backups.  Es la opción por defecto y la recomendable (salvo circunstancias excepcionales).  Esta opción (completa), permite operaciones que permiten recuperar backup hasta un punto en el tiempo.- Ejemplo si hay respaldo full más respaldo Log permiten recuperar hasta el instante previo a una caída del sistema.- Recuperación Simple  En el modelo de recuperación simple no es así, las operaciones quedan mínimamente logadas, los backups del log no pueden realizarse (carecen de sentido). Como cambiar modelo de configuración del log de transacciones: alter database bbdd set recovery simple -- Modo de recuperación simple alter database bbdd set recovery full -- Modo de recuperación full. 27 Mecanismos de respaldo y recuperación SET RECOVERY (SIMPLE/FULL/BULK)

28 Ejemplo Respaldos/Recuperacion  Respaldo Base de Datos  backup database db_tres to disk = 'c:\venus\tres.dmp‘ En esta imagen se ve la ejcución de tres respaldos, un full y dos diferenciales, el primer respaldo incluye toda la base de datos, el segundo respaldo incluye, la creación de la tabla más la inserción del registro 1,1.- El tercer respaldo incluye los registros (10,10; 20,20 y 30;30). Se debe hacer notar que el respaldo 1 es un full de la base de datos y los respaldos 2 y 3 son diferenciales a partir del full.- 28 Mecanismos de respaldo y recuperación Diferenciales

29 Ejemplo Respaldo/Recuperación  Como Recuperamos?  Que la recuperación incluya sólo hasta la inserción del registro (1,1)  Que la recuperación incluya hasta la inserción del registro (30,30) 29 Mecanismos de respaldo y recuperación Diferenciales

30 Ejemplo Respaldo/Recuperacion  Respaldo Base de Datos 30 Mecanismos de respaldo y recuperación Transaccionales

31 Ejemplo Respaldo/Recuperacion  Respaldo Base de Datos  En la imagen anterior, se ve la ejcución de cuatro respaldos, un full y tres transaccionales o de log, el primer respaldo incluye toda la base de datos, el segundo respaldo incluye, la creación de la tabla más la inserción del registro 5- El tercer respaldo incluye los registros (10 y 20) y el cuarto respaldo incluye los registros 100 y 200. Se debe hacer notar que el respaldo 1 es un full de la base de datos y los respaldos 2,3 y 4 son transaccionales a partir del full.-  Recuperar full, aún no esta creada la tabla 31 Mecanismos de respaldo y recuperación Transaccionales

32 Ejemplo Respaldo/Recuperacion  Respaldo Base de Datos  Recuperar full + 1er transaccional, sólo registro 5  Recuperar full + 1ero y 2do transaccional 32 Mecanismos de respaldo y recuperación Transaccionales

33 Ejemplo Respaldo/Recuperacion  Respaldo Base de Datos  Recuperar full + todos los transaccionales 33 Mecanismos de respaldo y recuperación Transaccionales

34 -- Mover los discos de una base de datos a otro disco (Ejemplo base de datos Db_Clases10) -- Identificamos la ubicación de los discos de la base de datos sp_helpdb Db_Clases10 -- Db_Clases101 c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10.mdf -- Db_Clases10_log2 c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10_log.LDF -- Desactivamos la base de datos de sus devices use master Exec sp_detach_db 'DataBaseName' -- Movemos los ficheros.mdf y.ldf a los nuevos volúmenes, (a nivel de sistema operativo) -- copy c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10.mdf c:\venus2 -- copy c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10.ldf c:\venus2 -- Conectamos la base de datos a sus nuevos devices use master sp_attach_db Db_Clases10, ‘c:\venus2\Db_Clases10.mdf,‘C:\venus2\Db_Clases10_Log.LDF' 34 Mecanismos de respaldo y recuperación Mover Bases de Datos

35 Crear una base de datos a partir de devices existentes -- Ubicar los nuevos devices a nivel de Sistema Operativo copy c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10.mdf c:\venus2\Db_Nueva.mdf copy c:\VENUS\MSSQL10.CURSO2017\MSSQL\DATA\Db_Clases10.ldf c:\venus2\Db_Nueva_Log.ldf USE master CREATE DATABASE Db_DOS ON ( FILENAME = 'c:\devices\DOS.mdf' ), ( FILENAME = 'c:\devices\DOS_log.ldf' ) for attach 35 Mecanismos de respaldo y recuperación Mover Bases de Datos

36 Procedimiento para mover Bases de Datos de Usuarios Procedimiento para mover una base de datos de usuarios, de nombre Db_Ventas, los devices de la base de datos (datos01.mdf y llog01.ldf) están en la carpeta sqlserver del disco C:\.- La nueva ubicación de estos devices, para el archivo datos01.mdf será en el disco D:\ bajo la carpeta DATOS y para el archivo llog01.ldf será en el disco E:\ bajo la carpeta LOG.-  Desactivamos los devices de la base de datos a mover sp_detach_db Db_Ventas  Copiamos los devices asociados a la base de datos copy c:\sqlserver\datos01.mdf D:\DATOS\master.mdf copy c:\sqlserver\llog01.ldf E:\LOG\llog01.ldf  Enlazamos los devices con la base de datos sp_attach_db Db_Ventas,’D:\DATOS\master.mdf’,E:\LOG\llog01.ldf  Validar que se realizó el cambio sp_helpdb Db_Ventas 36 Mecanismos de respaldo y recuperación Mover Bases de Datos

37 -- creamos la base de datos db_tres create database db_tres -- Validamos los devices de esta nueva base de datos y su ubicación sp_helpdb db_tres --Separamos los devices de la base de datos db_tres sp_detach_db db_tres -- Validamos como quedó el estado de la base de datos db_tres sp_helpdb db_tres 37 Mecanismos de respaldo y recuperación Mover Bases de Datos

38 -- copiamos desde sistema operativo el archivo de DATOS -- C:\Program Files (x86)\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\db_tres.mdf -- como c:\venus\dbtres\db_tres.mdf y copiamos el archivo de LOG -- C:\Program Files (x86)\Microsoft SQLServer\MSSQL10.SQLEXPRESS\MSSQL\DATA\db_tres_log.ldf -- como c:\venus\dbtres\db_tres_log.ldf -- luegos enlazamos estos archivos a la base de datos Sp_attach_db db_tres, ‘c:\venus\dbtres\db_tres.mdf ‘, ‘c:\venus\dbtres\db_tres_log.ldf’ -- Ahora validamos la base de datos db_tres con la ubicación de sus devices -- Sp_helpdb db_tres 38 Mecanismos de respaldo y recuperación Mover Bases de Datos

39 Usamos la base de datos db_tres en su nueva ubicación, en este caso creamos la tabla Tbl_Producto en la base de dato db_tres e insertamos 2 registros y finalmente los leímos (select * from db_tres..tbl_producto) 39 Mecanismos de respaldo y recuperación Mover Bases de Datos

40 Mover base de datos de sistema, msdb  Para mover esta base de datos utilizando el comando ALTER DATABASE.  No usaremos el procedimiento sp_attach_db y sp_detach_db  Procedimiento cambio Base de datos Model  Copiamos los devices de la base de datos model a la nueva ubicación Copy c:\program files (x86)\microsoft sql server\mssql10.sqlexpress\mssql\data\MSDBData.mdf’ c:\venus\dbtresMSDBData.mdf Copy c:\program files (x86)\microsoft sql server\mssql10.sqlexpress\mssql\data\MSDBLog.ldf c:\venus\dbtres\MSDBLog.ldf  Cambiamos la ubicación con el comando alter database ALTER DATABASE model MODIFY FILE (NAME=modeldev, FILENAME= 'c:\venus\dbtres\MSDBData.mdf'); --The file "modeldev" has been modified in the system catalog. The new path will be used the next time the database is started. ALTER DATABASE model MODIFY FILE (NAME=modellog, FILENAME= 'c:\venus\dbtres\MSDBLog.ldf'); --The file "modellog" has been modified in the system catalog. The new path will be used the next time the database is started.  Reiniciamos el Servicio 40 Mecanismos de respaldo y recuperación Mover Bases de Datos - MSDB

41 Mover base de datos de sistema, model  Para mover esta base de datos utilizando el comando ALTER DATABASE.  No usaremos el procedimiento sp_attach_db y sp_detach_db  Procedimiento cambio Base de datos Model  Copiamos los devices de la base de datos model a la nueva ubicación Copy c:\program files (x86)\microsoft sql server\mssql10.sqlexpress\mssql\data\model.mdf c:\venus\dbtres\model.mdf Copy c:\program files (x86)\microsoft sql server\mssql10.sqlexpress\mssql\data\modellog.ldf c:\venus\dbtres\modellog.ldf  Cambiamos la ubicación con el comando alter database ALTER DATABASE model MODIFY FILE (NAME=modeldev, FILENAME= 'c:\venus\dbtres\model.mdf'); --The file "modeldev" has been modified in the system catalog. The new path will be used the next time the database is started. ALTER DATABASE model MODIFY FILE (NAME=modellog, FILENAME= 'c:\venus\dbtres\modellog.ldf'); --The file "modellog" has been modified in the system catalog. The new path will be used the next time the database is started.  Reiniciamos el Servicio 41 Mecanismos de respaldo y recuperación Mover Bases de Datos - Model

42 Ubicación Inicial base de datos model Copiamos los archivos a nivel de Sistema Operativo Ejecutamos el cambio de ubicación a nivel de Sql Server, validamos que se realizó el cambio. Reiniciamos el Servicio Sql Server y estamos ok con la nueva ubicación de la base de datos model 42 Mecanismos de respaldo y recuperación Mover Bases de Datos - Model

43 Mover tempdb  Para mover la base de datos tempdb utilizaremos el comando ALTER DATABASE.  use master  go  alter database tempdb modify file (name = tempdev, filename = 'C:\venus\dbtres\tempdb.mdf')  go  alter database tempdb modify file (name = templog, filename = 'c:\venus\dbtres\tempdblog.ldf')  go 43 Mecanismos de respaldo y recuperación Mover Bases de Datos - Tempdb

44 Mover master Abrimos el Administrador Corporativo Propiedades, parámetros de inicio Podemos cambiar las ubicaciones de -dD:master.mdf – lD:mastlog.ldf ErrorLog Copiamos "master.mdf" y "masterlog.ldf“ a la nueva ubicación Reiniciamos el SQL Server 44 Mecanismos de respaldo y recuperación Mover Bases de Datos - Master


Descargar ppt "○ Objetivos ○ En este módulo veremos ○ Mecanismos de Respaldos ○ Políticas de Respaldos ○ Tipos de Respaldos ○ Backup/Restore ○ Respaldo del Log ○ Mover."

Presentaciones similares


Anuncios Google