Augusto Humire Martinez web blog

algo de web-in

Limpiar o reducir el log ldf sql server

En sql server el tamaño  de un ldf o log de transacciones puede crecer irremediablemente si no tenemos un plan de mantenimiento

una breve forma de como limpiar el ldf y hacer espacio en el disco limpiando los datos del archivo ldf que contiene el log de las transacciones en sql server

PARA SQL SERVER 2008

USE miBaseDeDatos;
GO
-- cambiamos el recovery a nodo simple
ALTER DATABASE miBaseDeDatos
SET RECOVERY SIMPLE;
GO
-- reducirmos el archivo log a 1 MB.
DBCC SHRINKFILE (miBaseDeDatos_Log, 1);
GO
-- devolvemos el nivel de recovery a full
ALTER DATABASE miBaseDeDatos
SET RECOVERY FULL;
GO

donde miBaseDeDatos es el nombre de la base de datos, creo que mas explicacion que eso no hay.

PARA SQL SERVER 2005

USE dbvcenter
CHECKPOINT
EXEC sp_addumpdevice 'disk', 'Copiadbvcenter', 'd:\dbvcenter.bak'
BACKUP DATABASE dbvcenter TO Copiadbvcenter
BACKUP LOG dbvcenter WITH TRUNCATE_ONLY
DBCC SHRINKFILE (dbvcenter_Log, 100)

donde dbvcenter es el nombre de mi base de datos

saludos.

diciembre 12, 2009 - Posted by | Base de Datos

80 comentarios »

  1. Gracias hermano, de verdad me fue de mucha utilidad conocer estas lineas de codigo.

    Gracias y saludos desde México.

    Comentario por Erick Ayala | octubre 28, 2010

  2. Muchas gracias!

    Comentario por Mikywan | diciembre 6, 2010

  3. Me sirvio perfectamente… Muchas Gracias

    Comentario por Jorge Diaz | febrero 28, 2011

  4. Nada me habia funcionado; hasta esta sugerencia.
    Muy agradecido.

    Comentario por Kenneth Zea | marzo 31, 2011

  5. Muchas gracias por tu gentil ayuda funcionaron perfectamente las lineas de codigo

    Comentario por Nena | mayo 6, 2011

  6. que exactitud xd!! gracias me salvaste mi log pesaba 70gb y no se como hacer para que no cresca tanto pues habia cargado mucha informacion y apesar que borre tablas con truncate tambien hize mas cosas que aumento el tamaño de mi log y no sabia como reducirlo y gracias a ti lo logre 🙂

    Comentario por Eika | junio 6, 2011

  7. Bueno me mi nombre es Erika jeje lo escribi mal … muchas gracias de nuevo :P.. no se si me puedes ayudar a saber como darle mantenimiento para que mi log no cresca tanto y si debo usar esa misma consulta suponiendo que mi base sea transaccional y tenga mucha concurrencia de usuarios

    Comentario por Erika | junio 6, 2011

  8. bueno te sugiero lo puedas poner el script dentro de en un procedimiento y este procedimiento se ejecute en un periodo de tiempo que estimes conveniente atravez el SQL Server Agent, le otorgas los privilegios necesarios y voila.

    Comentario por augustohumire | junio 8, 2011

  9. Excelente amigo! En SQL 2005 funciono a la perfeccion.

    Comentario por Francisco | junio 30, 2011

  10. Excelente libera mucho espacio…
    Muy buen codigo..

    Comentario por Artemio | agosto 16, 2011

  11. Muchisisisisimas Gracias Fuinciona a la perfeccion!!!

    Ya tenia un ldf de 17 GB cuando la base pesa solo 120MB

    Gracias!!!!

    Comentario por Anónimo | octubre 26, 2011

  12. Sos un genio, existimos los que nos ahogamos en este tipo de problemas que quisas sean sencillos para otros, pero por suerte siempre hay alguien como vos que nos tira una ayuda y nos enseña a compartir con los demás

    Gracias

    Comentario por Adolfo | noviembre 9, 2011

  13. Gracias por los Querys!!! y Mil Gracias por ayudar!!!!

    Comentario por Omarsan | noviembre 10, 2011

  14. los paseo TIII la mia pesa 60GB

    Comentario por Anónimo | noviembre 21, 2011

  15. Muchas Gracias, esperamos continues aportando para el blog.

    Comentario por Anónimo | diciembre 13, 2011

  16. tiene tiempo que lo consulte aqui, pero no lo usaba continuamente, ahora con el SAP hay que usarlo cada rato, gracias por tus aportaciones.

    AMN

    Comentario por Angel MN | diciembre 20, 2011

  17. BUEN DIA.
    ME SALE EL SIGUIENTE ERROR: ME PUEDEN COLABORAR GRACIAS
    Msg 15061, Level 16, State 1, Procedure sp_addumpdevice, Line 69
    Denegada la petición de agregar dispositivo. Ya existe un dispositivo físico con el nombre ‘f:\pur_pri.bak’.
    Msg 3202, Level 16, State 0, Line 4
    Error de escritura en ‘Copiapur_pri’, estado = 112. Consulte el registro de errores de SQL Server para obtener más información.
    Msg 3013, Level 16, State 1, Line 4
    Fin anómalo de BACKUP DATABASE.
    Msg 8985, Level 16, State 1, Line 6
    No se encuentra el archivo ‘pur_pri_Log’ en sysfiles.
    Ejecución de DBCC completada. Si hay mensajes de error, consulte al administrador del sistema.

    Comentario por DANIEL CIFUENTES ARROYO | marzo 22, 2012

  18. Excelente Augusto, me has sacado de un apuro enorme!!

    Comentario por Ron Vallejo | marzo 30, 2012

  19. Maestro muchas gracias

    Comentario por Anónimo | mayo 2, 2012

  20. pero mi la version que tengo es SQL 2000 uso las misma rutina??????

    Comentario por Anónimo | mayo 28, 2012

  21. Soy Jardy de Lima Peru estuvo excelente el modelo asi te evitaras de llevar muchas informacion innecesaria

    Comentario por Anónimo | junio 14, 2012

  22. muy buena la solucion gracias

    Comentario por julio cesar | julio 12, 2012

  23. Gracias me ayudaste un monton

    Comentario por Anónimo | agosto 16, 2012

  24. corto, preciso ,conciso. y funciona 🙂

    Comentario por Anónimo | agosto 21, 2012

  25. Excelente aporte

    Comentario por Anónimo | agosto 23, 2012

  26. Gracias por tu aporte, excelente explicacion y simple de entender.

    Comentario por Cristian | septiembre 4, 2012

  27. te diré que yo tenia un log de 320GB y no sabia como reducirlo, gracias a esa excelente explicación que colocaste que estaba bien simple de entender, y precisa pude lograrlo y me ayudaste a lo grande.

    saludos desde Honduras

    Comentario por Wilmer Martinez | septiembre 19, 2012

  28. Hola gente primero gracias por el aporte. A mi me ha dado el siguiente error:
    No se encuentra el archivo ‘mibase_Log’ en sysfiles.
    Ejecución de DBCC completada. Si hay mensajes de error, consulte al administrador del sistema.
    Yo calculo que es por que el archivo MDF y LDF, los tengo direccionado en el siguiente directorio: D:\MSSQL\Data. Pero no se como indicar donde esta ubicado mibase_Log. Me podría ayudar!?? Grs!

    Comentario por Sofia Pistola | octubre 11, 2012

  29. Espectacular!!! Buena solución y rápida. Gracias!!!!

    Comentario por Alicia | octubre 26, 2012

  30. Uyyyy excelente aporte, mi log ya pesaba 130 GB y no sabia como desocuparlo…..gracias nuevamente

    Comentario por Alex | noviembre 19, 2012

  31. Gracias, me funcinó perfectamente

    Comentario por Anónimo | enero 16, 2013

  32. Mi archivo log mide 250 GB. Ya no tengo espacio. ¿Hay manera de depurarlo sin respaldarlo?. Solo depurarlo.
    Gracias.

    Comentario por Pako | febrero 22, 2013

  33. El ejemplo con 2008 no hace copia en el disco duro.
    El ejemplo con 2005 efectivamente hace una copia (que luego la puedes borrar), sin embargo como mencionas que no tienes espacio, entonces comenta estas lineas
    BACKUP DATABASE dbvcenter TO Copiadbvcenter
    BACKUP LOG dbvcenter WITH TRUNCATE_ONLY
    no he probado lo que mencionas x q n tengo a la mano un 2005 sin embargo teoricamente deberia de funcionar, saludos cordiales.

    Comentario por Augusto Humire Martinez | febrero 24, 2013

  34. uffff que presicioon me has salvado estoy agradecido ….

    Comentario por Israel Pairo | abril 2, 2013

  35. muchas graciaas muy bien explicado , tenia problemas porque tenia el recovery o no lo cambiaba

    Comentario por Nico | abril 22, 2013

  36. Me fue de mucha ayuda. Saludos !!!

    Comentario por Anónimo | mayo 14, 2013

  37. Gracias, ya estaba sin espacio en el servidor!

    Comentario por Anónimo | mayo 17, 2013

  38. Muchas gracias por la información

    Comentario por Freddy | junio 14, 2013

  39. Compadre yo lop kiero para SQL 2000

    Comentario por Anónimo | julio 2, 2013

  40. Excelente ayuda!!! gracias muchas!

    Comentario por Anónimo | agosto 27, 2013

  41. Me funcionó perfecto, muchas gracias

    Comentario por Juan Carlos Rios Mas | septiembre 21, 2013

  42. Funcionó a la perfección, muchas gracias

    Comentario por carlos | septiembre 23, 2013

  43. MUCHAS GRACIAS!!! BENDICIONES

    Comentario por Anónimo | noviembre 4, 2013

  44. Muchas Gracias, Gran Aporte

    Comentario por Anónimo | enero 22, 2014

  45. Muchas gracias, de verdad me sirvio de mucho, ya llevaba 70 Gb y aumento

    Comentario por Edgar | junio 4, 2014

  46. GRACIAS!!!!!

    Comentario por Roman | junio 27, 2014

  47. Muchas gracias, Excelente aporte.

    Comentario por Cristian Fel | julio 20, 2014

  48. Hola, soy nueva en el uso de sql (tengo el 2012). Quisiera preguntarte si achicar el ldf afecta en algo a la base de datos asociada. No tengo muy en claro la utilidad que tiene este file en relación a la base de datos que lo origina. No sé si se entiende mi pregunta. Muchas gracias! saludos

    Comentario por Mariela | septiembre 18, 2014

  49. gracias ,, excelente aporte ,, me sirvio mucho…

    Comentario por Anónimo | septiembre 29, 2014

  50. buena tarde Augusto. acabo de ejecutar tu script para sql 2005 , pero tengo una duda mi Data lo tengo en la unidad d. al final cuando ejecuto sale un mensaje que no encontró el .ldf de la base a la cual le estoy rediciendo el log. será porque el Data no esta direccionado a C:\

    ejecución:

    USE tk518taux
    CHECKPOINT
    EXEC sp_addumpdevice ‘disk’, ‘Copiatk518taux’, ‘d:\tk518taux.bak’
    BACKUP DATABASE tk518taux TO Copiatk518taux
    BACKUP LOG tk518taux WITH TRUNCATE_ONLY
    DBCC SHRINKFILE (tk518taux_Log, 100)

    Resultado:

    Se han procesado 57360 páginas para la base de datos ‘tk518taux’, archivo ‘clie217_Data’ en el archivo 1.
    Se han procesado 2 páginas para la base de datos ‘tk518taux’, archivo ‘clie217_Log’ en el archivo 1.
    BACKUP DATABASE procesó correctamente 57362 páginas en 20.040 segundos (23.448 MB/seg.).
    Mens. 8985, Nivel 16, Estado 1, Línea 6
    No se encontró el archivo ‘tk518taux_Log’ para la base de datos ‘tk518taux’.

    Comentario por Patricia Bello | noviembre 13, 2014

  51. gracias brother!!! Desde Monterrey, Nuevo leon

    Comentario por Alex Govea | mayo 27, 2015

  52. muchas gracias por el aporte fue de muchisima ayuda

    Comentario por Omar Hernandez | junio 19, 2015

  53. Mil gracias, fue muy útil !! Desde Colombia

    Comentario por Anónimo | junio 19, 2015

  54. Muchas gracias !!!, desde Venezuela

    Comentario por Ruffo | julio 28, 2015

  55. mil gracias desde Bogotá – Colombia, muy sencillo. Luis F.guerrero

    Comentario por Anónimo | agosto 11, 2015

  56. Excelente aporte … gracias de antemano

    Comentario por Adan Navarro | agosto 11, 2015

  57. Muchas Gracias por tu aporte, justo lo que buscaba.

    Comentario por Anónimo | septiembre 29, 2015

  58. La ruta del backup es independiente de la de archivo log? porque me topo con el problema que me marca que no encuentra el log. Gracias

    Comentario por Ana I. Salazar | diciembre 11, 2015

  59. Absolutamente muchas gracias, está tan bien explicado que es imposible no entenderlo, mi log pesaba 41GB es increible jajajajaja, muchas gracias.

    Comentario por Jose Parraga | enero 22, 2016

  60. Gracias!!

    Comentario por KSp | enero 26, 2016

  61. gracias

    Comentario por Anónimo | febrero 4, 2016

  62. Gracias, muy util.

    Comentario por c.clain | febrero 17, 2016

  63. Gracias!!!

    Comentario por Anónimo | abril 4, 2016

  64. Muchisimas Gracias!!! funcionó a la perfección

    Comentario por Jorge Muñoz | abril 6, 2016

  65. Excelente… Gracias

    Comentario por leandro | abril 13, 2016

  66. muchas gracias, para quienes no somos de tecnología “reciente” me ayudo mucho este dato, mil gracias

    Comentario por japgmxmx | mayo 18, 2016

  67. Gracias por esta información, logre solventar el problema que tenia con el archivo LDF.

    Comentario por Anónimo | agosto 11, 2016

  68. Muchas Gracias, muy acertada la ayuda.

    Comentario por Carlos Ojeda | octubre 5, 2016

  69. Muchas gracias, ejecute las sentencias para 2008, pero aun y contodo esto no me reduce el log, saben si hay otra manera de reducirlo?

    Comentario por Monica | diciembre 1, 2016

  70. Año 2017 y todavia mil gracias me has ayudado estaba en 90 gb me salvaste gracias guru

    Comentario por ERAZO | febrero 24, 2017

  71. Si funciona, muchas gracias

    Comentario por Anónimo | marzo 29, 2017

  72. amigo si funciona, pero mi duda es la siguiente el LDF crecera normalmente a partir del 1 mb que se le coloco, y otra cosa eso no afecta el funcionamiento de la BD? tengo varias BD en 120gb, y son base de datos muy delicadas,

    Comentario por Anónimo | abril 10, 2017

  73. Buenísimo!

    Comentario por Anónimo | abril 26, 2017

  74. gracias.

    Comentario por Anónimo | julio 12, 2017

  75. Excelente este codigo ahora puedo sacar backup de la base de datos, seria bueno incluir la fecha y hora en el archivo, Saludos desde Lima Peru

    Comentario por Jardy | febrero 20, 2018

  76. GRacias … me sirvió 140 gb de logs Peru Cajamarca

    Comentario por Har Michael Pérez Tapia | marzo 5, 2018

  77. Gracias Profesor ya estaba en los 108 Gb, Gracias

    Comentario por YudielCH | julio 25, 2018

  78. Muchas gracias, los tarados de sistemas tengo meses diciéndoles que me estoy quedando sin espacio y lo que hicieron fue modificar el tamaño de mi partición vez tras vez. Yo no se mucho de base de datos, pero logré ubicar el archivo que me tenía la vida triste y al ver que era un log llegué hasta aquí y lo demás fue poner manos a la obra.

    Comentario por Jesus A. Famiglietti M. | diciembre 18, 2018

  79. Bueno recomiendo no usar este script en SQL Server 2019, te BORRA toda la data

    Comentario por erickorlando | agosto 13, 2020

  80. Probado en SQL Server 2017; valide los conteos de registros y aparentemente funciona a la perfección; Muchas gracias por el aporte.

    Comentario por Ramón | agosto 20, 2020


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: