01. Opciones de recuperación

Las opciones de recuperación determinan el comportamiento del log de transacciones, así como también como serán manejadas las páginas dañadas.

 

Modelos de recuperación (Recovery models)

Toda base de datos posee una pŕopiedad llamada "recovery model", la misma determina el tipo de backup que podemos realizar sobre la misma. En SQL Server 2008 contamos con las siguientes opciones:

 

  • Full
  • Bulk-logged
  • Simple
Full recovery model
Cuando una db se configura como "full recovery", todos los cambios (tanto del tipo DML como así también DDL), son registrados en el log de transacciones. Debido a esto, podemos restarurar dicha base a un deteminado momento de tiempo paso, lo cual minimiza o elimina las posibles pérdidas de datos, en el caso de un desastre!
Dichos cambios son retenidos en el log de transacciones de forma indefinida, y solo son removidos cuando se realiza un backup del archivo de transacciones.

 

Buena práctica

 

Cada db (que esté en producción), y que acepte transacciones, debe ser configurada en modo "full recovery model", ya que nos permite una mayor flexibilidad en el caso de una restauración.


 

Bulk-logged recovery options
Ciertas operaciones están diseñadas para manipular grandes volúmenes de datos. Sin embargo, estas pueden impactar negativamente en la performance (si deben registrarce en el log de transacciones). Es por eso que bulk-logged nos permite que ciertas operaciones sean ejecutadas con un mínimo logging.
Cuando una de estas operaciones es ejecutada, SQL Server no registra cada cambio realizado en una fila, reduciendo la carga sobre el log de transacciones y mejorando la performance.
Las operaciones que realizan un mínimo de log son:
  • BCP
  • Bulk Insert
  • Select.. Into
  • Create Index
  • Alter index.. rebuild
Debido a que no se registran todos los cambios en el log de transacciones NO podemos restaurar la db a cualquier punto del tiempo.
Simple recovery model option
El tercer modo de recuperación es el "Simple". Una DB con modo de recuperación simple, registra en el log exactamente lo mismo que si estuviera en modo Full. La gran diferencia es que los logs son retenidos hasta el momento en que se realice un checkpoint. Tampoco podemos restaurar la db a cuanquiel punto del tiempo.
Dedido a que "Recovery model" es una propiedad de la base de datos podemos establecerla o cambiarla mediante el siguiente comando:
ALTER DATABASE nombre_basedatos
SET RECOVERY { FULL | BULK_LOGGED | SIMPLE }

 

 



Tipo Backup


Full Diferencial Tran. Loh
Modo recuperación Full Si Si Si
Bulk Si Si Si / No logea detalladamente
Sumple Si Si No
Backup disponibles por cada Recovery Model

 

Comentarios

Importantes las copias de seguridad

Buena explicacion, es muy importante hacer las copias de seguridad para no perder tu trabajo.