none
Archivo log demasiado grande RRS feed

  • Pregunta

  • Buenos días,

    Estoy trabajando con una base en SQL Server 2005 y el archivo log que tengo, se me ha hecho demasiado grande, cómo puedo hacer para reducirlo lo máximo posible?

    He probado con botón derecho -> tareas -> reducir    pero apenas lo reduce, y quería saber cómo podría hacerlo.

    Es que me parece excesivo que la base ocupe 50MB, y el registro 4,5Gb.

    Un saludo y gracias de antemano


    Programador en entornos Microsoft

    viernes, 23 de marzo de 2012 8:27

Respuestas

Todas las respuestas

  • primero ejecuta

    Alter database XXX set recovery simple

    despues haz esa tarea

    y luego te recomiendo que leas sobre como funciona el log de transacciones , las instrucciones que tienes en el link que te paso son algo antiguas, así que no le hagas mucho caso, sin embargo tienes ahí la explicación de por que crece..

    http://www.helpdna.net/sqlserver_faq_01_reducir_log_transacciones.htm 


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    • Marcado como respuesta Oscar Bralo viernes, 23 de marzo de 2012 8:57
    viernes, 23 de marzo de 2012 8:54
    Moderador
  • Muchas gracias Miguel,

    Un saludo, y muy amable por tu rápida respuesta


    Programador en entornos Microsoft

    viernes, 23 de marzo de 2012 8:57
  • Lo que esté en nuestra mano :)

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    viernes, 23 de marzo de 2012 9:14
    Moderador
  • Te dejo los scripts con los cuales puedes reducir los logs sin riesgos para las distintas versiones:

    --****LIMPIAR EL LOG DE TRANSACCIONES  2000 y 2005
    use NOMBREBASE
    CHECKPOINT
    GO
    BACKUP LOG NOMBREBASE WITH TRUNCATE_ONLY
    DBCC SHRINKFILE (NOMBRELOGICO_log', 10) --Dejamos el archivo de log con un tamaño de 10 Mb
    DBCC sqlperf(logspace)

    --*******2008 ***************

    USE AdventureWorks2008R2;
    GO-- Truncate the log by changing the database recovery model to SIMPLE.
    ALTER DATABASE AdventureWorks2008R2
    SET RECOVERY SIMPLE;
    GO
    -- Shrink the truncated log file to 1 MB.
    DBCC SHRINKFILE (AdventureWorks2008R2_Log, 1);
    GO
    -- Reset the database recovery model.
    ALTER DATABASE AdventureWorks2008R2
    SET RECOVERY FULL;
    GO
    --******************************+

    si quieres saber cual es el nombre logico del log de tu base ejecuta este comando sp_helpfile,  en la base que quieres reducir y te lo dara

    http://dbasqlserver.wordpress.com/

    Saludos

    viernes, 23 de marzo de 2012 23:47
  • Alfred, gracias por tu respuesta, pero con la de Miguel me valió perfectamente! 

    Un saludo


    Programador en entornos Microsoft

    sábado, 24 de marzo de 2012 9:17