martes, 13 de noviembre de 2007

Que es el transaction Log?

Como administrador de base de datos muchas veces tenemos un incoveniente con que la base de datos a crecido mucho, que no contamos con el espacio suficiente, que se necesitan más discos, etc. Al verificar nos damos cuenta que el Log de archivo de nuestra base de datos a crecido bastante, lo primero que deseamos es reducir el espacio del mismo, pero con la interrogante de que puede pasar si lo hacemos.
El transaction log se encarga de almacenar todas las acciones que realizamos en nuestra base de datos para identificar problemas en nuestro sistema o fallas de algún dispositivo. Además nos permite almacenar ejecuciones dentro de transacciones para luego ser aceptadas o rechazadas en caso de algún inconveniente. En caso de que el equipo se reinicie por problemas, las transacciones que quedan pendientes (Uncommited Transaction) son aceptadas o rechazadas.
Para visualizar el log de la base de datos debemos ejecutar el siguiente comando:
DBCC log ( {dbiddbname}, [, type={01234}] ) donde type es el tipo de salida siendo 2 la vista detallada y la 3 toda la información.
Si deseamos reducir el tamaño de nuestro Log ejecutamos las siguientes instrucciones:
BACKUP LOG basededatos WITH TRUNCATE_ONLY
go
DBCC SHRINKFILE (basededatos_Log, 10)
Si reducimos nuestro transaction log solo perdemos nuestras últimas ejecuciones, pero no afecta nuestra base de datos a menos que tengamos en el archivo un "uncommited transaction".
Espero que esta información sea de provecho.

1 comentario:

Anónimo dijo...

Execelente opción, generalmente soluciona el problema