Home > Bases de Datos, Sql Server > Job de limpieza de Log de Transancciones

Job de limpieza de Log de Transancciones

Por lo general el Log de transacciones siempre está creciendo cada cierto tiempo, dependiendo obviamente de si la BD es muy transaccional o no, es por eso que para evitar que el Log de transacciones crezca mucho y se llene el disco es mejor dejar programada una tarea que se encargue de esta labor, para esto se debe realizar lo siguiente:

1.- Detectar cual es el FileId del Log de Transacciones de la BD que deseamos automatizar. Para el ejemplo la bd se llama “BD_Amin”, para saber cual es el FileId es necesario ejecutar el comando desde el Query Analyzer

sp_helpdb BD_Amin

Lo que nos dará la siguiente salida:

Salida comando sp_helpdb

Observar que el campo “usage” indica el tipo de archivo que tiene cada base de datos, para nuestro ejemplo el tipo es “Log Only“, de aquí se obtiene el “FileId“, que será “2″

1.- Luego se debe crear un JOB desde el Sql Server Enterprise. En donde se debe tener en cuenta el “FileId” que se obtuvo en el punto 1.

El detalle del JOB será:

-- Shrink
use BD_Amin
go
checkpoint
go
dump tran BD_Amin with no_log
go
dbcc shrinkfile (2,0) --ldf

2.- Luego en la pestaña “Programaciones” se podrá ingresar la programación del JOB.-

3.- Por último revisar que en la pestaña “Notificaciones” se encuentre habilitado el campo “Escribir en el registro de sucesos de aplicación de Windows”, de esta manera podemos saber su historial.-

Saludos

  1. No comments yet.
  1. No trackbacks yet.