Search This Blog

Friday, August 10, 2012

DBCC SHRINKFILE y sus implicaciones

 

Hace algun tiempo un cliente me pidio una solucion para poder reducir el tamano de las bases de datos, mi respuesta ante este tipo de preguntas siempre ha sido otras preguntas:

  1. Para que quiere reducir el tamano de su base de datos?
  2. No tiene espacio?

La respuesta ante esto es tipicamente la misma

  1. Para hacerle “Mantenimiento”
  2. Si tengo, pero es que quiero liberarlo…

Ante estas respuestas procuro siempre darle la misma recomendacion a mis clientes:

No lo haga, no lo haga a menos que sea extrictamente necesario!

Muchas veces los clientes y algunos DBAs ejecutan la siguiente instruccion con el fin de reducir el tamano de sus bases de datos

   1:  USE AdventureWorks;
   2:  GO
   3:  -- Truncate the log by changing the database recovery model to SIMPLE.
   4:  ALTER DATABASE AdventureWorks
   5:  SET RECOVERY SIMPLE;
   6:  GO
   7:  -- Shrink the truncated log file to 1 MB.
   8:  DBCC SHRINKFILE (AdventureWorks_Log, 1);
   9:  GO
  10:  -- Reset the database recovery model.
  11:  ALTER DATABASE AdventureWorks
  12:  SET RECOVERY FULL;
  13:  GO



Sin embargo este codigo tiene un impacto bastante importante…


Si vamos a la linea 4 y 5, vemos que la base de datos es inicialmente cambiada a modo de recuperacion SIMPLE, al hacer este cambio la historia de copias de seguridad (Backups) de la base de datos se pierde, de esta manera, si deseas sacar un backup diferencial de tu base de datos, sera necesario sacar un backup full nuevamente.


Ten cuidado de las implicaciones que pueda tener la ejecucion de codigo dentro de tus bases de datos.


Nos leemos luego!


John Peace

LinkWithin

Related Posts Plugin for WordPress, Blogger...