jueves, julio 16, 2009

Esos $##@@&%$ Transaction Logs!!!

A quien no le ha tocado alguna vez que se haya llenado el disco por que los Transaction logs han crecido y crecido?? Tanto en SQL Server como Exchange.

Hoy me toco ver una base de datos SQL Server de solo 600Mb con un Transaction log de 54GB, no es primera vez que me toca ver algo así, había visto Tlogs de 30GB para bases de 2GB y había apagado mas de un incendio por disco lleno debido a esto mismo, es un tema que siempre se esta repitiendo y no muchos administradores entienden por que esta pasando.

 

Por que crece el Tlog?

Cuando una aplicación o una sesión en SQL Server envía una transacción a la base de datos, el motor lee los datos, los carga en memoria (Buffer Cache) y son modificados, esta modificación es registrada en el TLog en disco, cuando el Checkpoint ocurre, las paginas modificadas que están en memoria son escritas al archivo de data, de esta forma, si el server tiene algún problema, al levantar nuevamente con la información de los archivos de data mas el tlog es capaz de reconstruir la información que estaba en memoria y no había sido escrita a disco todavía, dejando la base de datos consistentes. Estas transacciones son las que hacen crecer el archivo.

 

Y cuando se “limpia”?

Eso depende (que me encanta esa palabra :P )

Si el recovery model de la base de datos esta en simple, las transacciones que ya finalizaron y fueron escritas a disco, son eliminadas del archivo, dejando ese espacio libre, sin embargo el tamaño físico del archivo no cambia.

Si el recovery model esta en Full o Bulk-logged, estas transacciones son limpiadas cuando se realiza el backup del Tlog.

 

Pero estoy haciendo un backup full todas las noches, porque no se limpia!

Ese es un error que cometen muchos administradores, piensan que el backup full también respalda el Tlog, sin embargo no es así.

El respaldo Full de la base de datos solo respalda la parte activa del Tlog, es decir, aquellas transacciones que aun no han sido escritas a disco.

 

Entonces que debo hacer para que el archivo no crezca?

Cambiar el recovery model a simple ;)

 

Pero tenia entendido que la recomendación para bases de datos de producción es con recovery model full.

Exactamente!! Pero si no los respaldas ni haces nada con ellos, para que los tienes en full??

 

Ok, creo que voy entendiendo, explícame mejor que es lo que debo hacer entonces para no seguir teniendo este problema.

Primero que nada, resolvamos el problema que tienes, disco lleno. Lo mas probable es que tengas problemas con la base por lo mismo, no creo que valga la pena en este momento realizar un respaldo de ese Tlog, así que lo vamos a truncar a la mala con el siguiente T-SQL

BACKUP LOG <basededatos> WITH TRUNCATE_ONLY

Ya tenemos el espacio liberado en el archivo, ahora devolvamos al sistema este espacio libre “achicando” este archivo a través del siguiente T-SQL

DBCC SHRINKFILE (<nombrelogicoarchivodelog>)

Con esto ya tenemos nuestro archivo chiquitito. Sin embargo comenzara a crecer nuevamente cuando empiecen a entrar los usuarios, mira, ya comenzó a crecer :D

Ahora para tener esto controlado y no vuelva a crecer y llenar el disco programemos un respaldo del Tlog por ejemplo cada una hora y guardémoslo junto a los otros respaldos, cuando necesitemos recuperar la base de datos podremos recuperar hasta casi la ultima transacción que se ejecuto, pero eso es para otro post.

 

También tengo un problema similar con Exchange, se me llena el disco con los archivos que se generan.

En Exchange el que los Tlog no se estén eliminando es una señal de que los respaldos no están terminando correctamente, estos son archivos de 5M para Exchange 2003 o anteriores y de 1M para Exchange 2007.

Al realizar el respaldo de la base de datos se aplican las transacciones y los archivos aplicados son eliminados de disco, por lo que no debieran eliminarse estos archivos a mano sin tomar algunas precauciones.

Los Tlog están relacionados al storage group mas que a un mailbox store en particular, por lo que para que se eliminen estos archivos deben estar correctamente respaldados todas las bases dentro del storage group.

La forma correcta de eliminar los Tlog en Exchange esta descrita en el KB 240145 para Exchange 2000 y 2003.

Si queremos evitar que se generen estos archivos, considerando que este hecho no nos permitirá recuperarnos de un desastre hasta la ultima transacción, podemos cambiar la modalidad de log a circular siguiendo el KB 314605 para Exchange 2000 y 2003 y en este Artículo para Exchange 2007

 

Conclusión.

Como conclusión final, la recomendación para servidores de producción de SQL Server es el recovery model full realizando backups periódicos de los Tlogs, para Exchange, deshabilitando Circular Logging y validando que los respaldos terminen correctamente y se estén respaldando todas las bases del Storage Group.

 

Saludos!!

Isa

 

Aclaración: Los diálogos que utilizo en el blog corresponden a conversaciones conmigo misma y no con segundos y/o terceros. A veces son media lenta para entenderme y debo explicarme con manzanitas :S

jueves, julio 02, 2009

Apoya a Chile en Imagine Cup 2009

La final mundial del concurso Imagine Cup 2009 está por comenzar! Ya están en camino los equipos de estudiantes que viajan a El Cairo, Egipto, desde distintos países del mundo, y Chile no está ausente! 4 estudiantes de la Universidad Técnica Federico Santa María, de Valparaíso nos estarán representando con su interesante proyecto PRISMO.

Apoyemos nuestro equipo local votando en el concurso “People’s Choice” por el vídeo de PRISMO. Ingresa en este link: http://peopleschoice.imaginecup.com/default.aspx selecciona Chile en “Select a Location” y te aparecerá el vídeo para verlo y votar. Se puede votar 1 vez todos los dias!

El ranking actual de los Top 5:

1.       NISLab++ (Japón)

2.       Movement Studio (México)

3.       Evotech (Algeria)

4.       OTS (Egipto)

5.       Vital Lab (Rusia)

La final de Imagine Cup se desarrollará entre el 3 y 7 de julio, y este año más de 300 mil estudiantes de todo el mundo están participando!!!

Alejandro Pacheco, Gerente de Relaciones Académicas de Microsoft Chile está acompañando al equipo chileno, y enviándonos fotos e informaciones que postearemos en Facebook y Twitter

Saludos!!

Isa

viernes, junio 19, 2009

eBooks Gratuitos!!!

http://csna01.libredigital.com/?urws8un4p7 (Resource Kits de OCS 2007)http://csna01.libredigital.com/?urrs4gt63d (Programing OCS 2007 R2)
http://csna01.libredigital.com/?urmvs17u33 (Understanding Microsoft Virtualization Solutions)

Disfrutenlos!

Isa

domingo, junio 14, 2009

Nuevo ciclo - Sacale el Jugo a .....

Comienza un nuevo ciclo de charlas, no te lo pierdas!

Conferencia GLAD Invita: Sacale el jugo a Windows Server: File y Print Server

Martes 16 de Junio, 18.30 horas en NewHorizonts Teatinos 550 Santiago, Chile

Ven a Conocer cómo puedes obtener el máximo provecho, mejorar el uso y la administración de tus servidores de Archivos e Impresión, Veremos como puedes evitar que se almacenen archivos no deseados en tus servidores (con File Screening) y racionalizar el uso del espacio usando Cuotas de almacenamiento por carpetas. Revisaremos cómo mejorar la seguridad en el acceso a los datos (usando ABE) y cómo implementar un sistema de archivos distruibuido y redundante (DFS) , También veremos cómo implementar remotamente Impresoras usando políticas de grupo y más.

Presentadores: Isabel de la Barra (MCT) y Gonzalo Balladares (MVP) Regístrate aquí:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032417649&culture=es-cl

Agrégalo a tu calendario Outlook:
http://msevents.microsoft.com/CUI/AddToOulook.aspx?EventID=1032417649&pg=search&culture=es-cl

Saludos!!

Isa

miércoles, junio 03, 2009

Proyecto Natal

Uno de los proyectos de Microsoft que ha dejado boquiabiertos a miles de players en la E3 Conference y con ganas de que pronto salga es Natal.

No es una nueva consola, sino que trabaja con la XBox, un nuevo concepto en interactividad, sin controles! reconocimiento de rostros y de voz, esta genial.

Siempre que tomo alguna decisión aparece algo que me hace cuestionar lo que decidí, nunca es tarde para arrepentirse dicen ;)

Pero, de que les estoy hablando??

Aca una muestra! Disfruten el Video!

Mas info sobre esta conferencia y las cosas que se mostraron en  GamerTag

Saludos!!

Isa