Detener el registro de transacciones para que deje de crecer

Fabiss
05 de Noviembre del 2005
Hola a todos!! Espero que me puedan ayudar es super urgente.

Mi problemas es, que tengo un proceso el cual borra eventos de mi base de datos ejecutando 'delete', cada vez que hace esto el transaction log crece demasiado a tal grado de volverse mas grade que mi propia base de datos.
Lo he estado reduciendo a traves del comando 'DBCC SHRINKFILE(auditdba_log,1)' y funciona correctamente pero necesito que esto sea automatico o bien configurar el log para que ya no crezca cada vez que se ejecuta 'delete'.

También he ejecutado el comando 'BACKUP LOG auditdba WITH TRUNCATE_ONLY' pero no entiendo bien como funciona este comando y aunque lo he ejecutado el transaction log sigue creciendo.

¿Qué puedo hacer estoy desesperada ayudenmee por fas?

monky
05 de Noviembre del 2005
Lo que puedes hacer es acortar la transaccion para que asi el log no crezca desmesuradamente.
Al principio del script de eliminacion pones un
set rowcount 20000

Luego haces el delete con tu condicion
el sistema cortara la transaccion cuando llegue a los primeros 20000 que cumplan la condicion
luego ejecutas un commit work para que la transaccion se termine y con esto el log hace un wrap-around (o sea, comienza de nuevo)
Sigues con otros 20000
commit work de nuevo
etc etc

Esto funciona siempre y te evita el consumo excesivo del log

Suerte